In meinem Verständnis sollten die folgenden Ruby-Ausdrücke das gleiche Ergebnis liefern.
offenbar etwas, was ich bin fehlt, ist dies eine viel zu ernste Fehler unbemerkt zu gehen ...Array-Elemente in Ruby zählen (unerwartete Ergebnisse durch die Funktion count())
# returns the number of ALL elements in the array
count = @quotation.quotation_items.count { |x| x.placement == current_placement}
# Does what I expect
count = (@quotation.quotation_items.find_all { |x| x.placement == current_placement }).length
quotation_items
oben ist ein has_many
Active Verein
Ich dachte ActiveRecords Verbände implementieren das Enumerable Protokoll ... –
ist es CollectionAssociation Methode, nicht Berechnung (siehe Link) – Ilya
Die ActiveRecord Anzahl löst immer eine SELECT COUNT (...) auf der db - es ist nicht das gleiche wie Die Enumerable # count – mccalljt