Disons que j'ai des modèles qui ressemblent à ceci:Comment filtrer par nombre d'associations?
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
Comment puis-je obtenir tous les foos qui avaient plus de 10 bars (et donc plus de 10 gâteaux)?
Vous pouvez accélérer ce à l'aide d'un counter_cache. Foo.find (: all,: conditions => ['foo.cake_count> 10']) – jonnii