Nakładając kilka na siebie z tym samym atrubytem, ostatni jest brany pod uwagę:
class Car < ActiveRecord::Base scope :good, where(:id => 1) scope :bad, where(:id => 2) end Car.good.bad SELECT "cars".* FROM "cars" WHERE "cars"."id" = 2 Car.bad.good SELECT "cars".* FROM "cars" WHERE "cars"."id" = 1
Ale gdy zrobimy to samo bez użycia scopów:
Car.where(:id => 1).where(:id => 2) SELECT "cars".* FROM "cars" WHERE "cars"."id" = 1 AND "cars"."id" = 2
Fixed in Rails 4.