wo die Bedingungen, die auf aktiven Datensatz rails 3

Ich versuche, fügen Sie eine bedingte, wo nur die Datensätze, die die Bedingung erfüllen, sind Griff aus dem Modell. Zum Beispiel, ich versuche, nur schnappen Sie Datensätze aus der Transaktion Modell, bei dem die :price ist entweder größer oder nicht gleich 0 (ich habe versucht, > und != aber weder gearbeitet, im Beispiel unten).

price = Transaction.where(:company_id => company).where(:price != 0.00)

Hab ich auch so probiert:

price = Transaction.where(:company_id => company).where(:price != 0.00).collect{|item| if item.price.to_f > 0.00 {item.price.to_f} end}

...sowie andere Varianten der beiden oben genannten, die nicht funktioniert hat.

Ersten Beispiel oben produziert keine Fehler, sondern einfach nicht funktioniert. Die Bedingung wird ignoriert. Das zweite Beispiel erzeugt einen syntax-Fehler.

Ich bin mir auch ziemlich sicher, dass es einen Weg gibt, dies zu tun mit Vergleichsoperatoren in SQL, aber habe keine Ahnung, wie das geht.

Irgendwelche Vorschläge?

InformationsquelleAutor vich | 2012-03-15

Schreibe einen Kommentar