में named_scope के दायरे में आता मान लें मैं एक नामित गुंजाइश है:जांच करें कि मॉडल उदाहरण रेल
class Foo < ActiveRecord::Base
named_scope :bar, :conditions => 'some_field = 1'
end
इस क्वेरी के लिए महान काम करता है और मैं परिभाषित उपयोगी named_scopes का एक समूह है। मैं यह क्या करना चाहता हूं:
f = Foo.find(:first)
f.some_field = 1
f.is_bar? #=> true
'.bar?' यदि मॉडल उदाहरण नामित दायरे में आता है तो विधि बस सच या गलत हो जाएगी। क्या 'is_bar' लिखने के बिना ऐसा करने के लिए वैसे भी है? विधि, भले ही मैंने कुछ 'is_bar' जांचने के लिए पहले से ही एक अच्छा तरीका लिखा है? अगर मुझे सही याद है, तो DRY अच्छा है इसलिए किसी भी मदद की सराहना की जाएगी/
धन्यवाद। ठीक है तो मुझे नाटक करने के लिए कहा जाता है। मूल्य बदलने के बाद बचाओ। Foo.bar.exists? (Foo.find (: पहले)) बार बार के दायरे में पड़ने पर सही या गलत वापस आ जाएगा? बहुत बढ़िया। – user94154
सही। आपको फिर से कॉल करना नहीं चाहिए। "f.save; Foo.bar.exists? (एफ)" काम करना चाहिए। – ryanb
क्या 200 9 से यह आसान हो गया है? –