मेरे आवेदन के दौरान self.
उपयोगकर्ता के नाम का संदर्भ देने के लिए आवश्यक नहीं है। name
ठीक काम करता है।ActiveRecord/Rails मॉडल गुणों तक पहुंचने के लिए "स्वयं" का उपयोग क्यों करें?
निम्नलिखित कोड को self
को इरादे के अनुसार काम करने की आवश्यकता क्यों है?
class User< ActiveRecord::Base
before_save :validate_name
def validate_name
if self.name.nil? || self.name.empty?
self.name= "Mr. No Name"
end
end
वैसे, मुझे पता है कि validates_presence_of
बचाने को रोकने के लिए इस्तेमाल किया जा सकता है, लेकिन मैं एक डिफ़ॉल्ट के साथ को बचाने के लिए अगर कोई नाम दिया जाता है चाहता हूँ।
रेल 3.0.7।
क्षमा करें, 'self.day'' self.name' होना चाहिए था! मैंने सवाल अपडेट किया। –
नाइट: रुबी कभी भी एक विधि कॉल होने के लिए 'x = y' नहीं ले पाएगा। यह हमेशा एक प्रत्यक्ष चर (या स्थिर, मामले के आधार पर) असाइनमेंट है। फॉर्म 'x' (अभिव्यक्ति के रूप में) इस बात पर निर्भर करता है कि इस तरह का' x' गुंजाइश है (एक चर के रूप में) या नहीं। –
यदि वर्ग फ़ाइल पार्स किए जाने के बाद 'name' और' name = 'गतिशील रूप से जोड़े जाते हैं, तो ऐसे समय होते हैं जब 'name' का अर्थ' self.name' होता है और अन्य बार जब 'name' स्थानीय चर होता है? –