2009-04-27 6 views
1

Gibt es Verknüpfungen in ActiveRecord von Rails, mit denen Sie nach dem Wert eines Feldes suchen können?Verknüpfungen in ActiveRecord?

Zum Beispiel sagen wir, ich habe einen "Benutzer", der aktiv oder inaktiv sein kann. Gibt es eine nette Art, User.active zu machen? oder muss ich tun User.find_by_active (1)

Gilt dies auch für Felder, die viele verschiedene Werte haben können, z. B. eine Statusspalte? B. Ticket.open, Ticket.closed?

Antwort

1

Wenn das active Attribut eine boolean Spalte in der Datenbank ist, dann können Sie einfach User.active? anrufen und es wird wieder true oder false je nach der Wert des Boolean.

Im Fall der Spalte a state wird dies nicht funktionieren. Sie können jedoch Methoden für das Benutzermodell erstellen, wie z. B. ...

+0

Die offene? Methode kann nur self.state == "open" zurückgeben - keine Notwendigkeit für die explizite wahr. –