Überprüfen Sie, ob die Modellinstanz innerhalb von named_scope in Rails liegt

Angenommen, ich habe einen benannten Bereich:

class Foo < ActiveRecord::Base
    named_scope :bar, :conditions => 'some_field = 1'
end

Dies funktioniert hervorragend für Abfragen, und ich habe eine Reihe nützlicher named_scopes definiert. Was ich möchte, ist in der Lage zu sein, dies zu tun:

f = Foo.find(:first)
f.some_field = 1
f.is_bar? #=> true

Die Bar?' Die Methode gibt einfach true oder false zurück, wenn die Modellinstanz in den angegebenen Bereich fällt. Gibt es eine Möglichkeit, dies zu tun, ohne eine 'is_bar' zu schreiben? Methode, obwohl ich bereits einen guten Weg geschrieben habe, um zu überprüfen, ob etwas 'is_bar?' Wenn ich mich richtig erinnere, ist DRY gut, daher wäre jede Hilfe sehr dankbar /

Antworten auf die Frage(2)

Ihre Antwort auf die Frage