0
Food.where(meat: true).count do |food| 
    food.chunky? 
end 

fait exactement la même chose que Food.where(meat: true).count, comme un compte de type SQL est fait, plutôt que d'un type de comptage Enumerable#count.Faire nombre conditionnelle avec des objets ActiveRecord

Y a-t-il une façon de faire un type de comptage Enumerable#count autre que le pointage sur un each, comme ceci?

Food.where(meat: true).each.count do |food| 
    food.chunky? 
end 

(Oui, je sais faire food.chunky? consiste à créer food objets et appeler une méthode sur eux, plutôt que de faire tout au niveau de la base de données - parfois, il ne peut pas être évité)

Répondre

1

Cela pourrait fonctionner (note: non testé).

Food.where(meat: true).select{|f| f.chunky? }.count