Скажем, у меня есть модели, которые выглядят следующим образом:Как фильтровать по количеству ассоциаций?
class Foo < ActiveRecord::Base
has_many :bars, :through => :cakes
has_many :cakes
end
class Bar < ActiveRecord::Base
has_many :foos, :through => :cakes
has_many :cakes
end
class Cake < ActiveRecord::Base
belongs_to :foo
belongs_to :bar
end
Как бы я все Foos, которые имели более 10 бар (и, следовательно, 10 или более торты)?
Вы можете ускорить этот процесс с помощью counter_cache. Foo.find (: all,: conditions => ['foo.cake_count> 10']) – jonnii