आप रेल 2.1 में और
Class Test < ActiveRecord::Base
named_scope :created_after_2005, :conditions => "created_on > 2005-01-01"
named_scope :named_fred, :conditions => { :name => "fred"}
end
ऊपर नाम स्कोप उपयोग कर सकते हैं तो आप
Test.created_after_2005.named_fred
कर सकते हैं या आप आप तर्क में पारित करने के लिए अनुमति देता है एक लैम्ब्डा named_scope दे सकते हैं
Class Test < ActiveRecord::Base
named_scope :created_after, lambda { |date| {:conditions => ["created_on > ?", date]} }
named_scope :named, lambda { |name| {:conditions => {:name => name}} }
end
तो आप
कर सकते हैं
Test.created_after(Time.now-1.year).named("fred")
स्रोत
2008-09-17 14:20:40