सिंगल टेबल विरासत के साथ डिफ़ॉल्ट मूल्य

मेरे पास एक उपयोगकर्ता तालिका है जो मैं सभी प्रकार के लिए एक डिफ़ॉल्ट मान रखना चाहता हूं सिवाय इसके कि मैं डिफ़ॉल्ट मान प्रत्येक प्रकार के लिए अलग होना चाहता हूं। मेरे पास बेस क्लास पर पहले_क्रेट कॉलबैक विधि है जिसमें मूल्य कुछ सेट है और मैं उस विधि को उन वर्गों में ओवरराइड करता हूं जो इसे अन्य मानों के लिए प्राप्त करते हैं, लेकिन हर बार जब मैं बीज करता हूं तो मुझे रिकॉर्ड नॉटसेव त्रुटि मिलती है। मैं यह कार्य कैसे करूं?

धन्यवाद!

0
वह बिल्कुल समस्या थी! धन्यवाद!
जोड़ा लेखक babaloo, स्रोत
क्या आप अपनी कक्षाओं में अपने पहले_क्रेट कॉलबैक के लिए कोड पोस्ट कर सकते हैं? मैं शर्त लगा रहा हूं कि वे अनजाने में झूठी वापसी कर रहे हैं, जो RecordNotSaved के लिए एक आम कारण है। RecordNotSaved मूल रूप से आपको बता रहा है कि ऑब्जेक्ट मान्य नहीं है। RecordNotSaved के लिए दस्तावेज़ देखें, उम्मीद है कि मदद करता है।
जोड़ा लेखक wkhatch, स्रोत
क्या मैं इसे एक उत्तर के रूप में जोड़ सकता हूं? जबरदस्त हंसी
जोड़ा लेखक wkhatch, स्रोत

1 उत्तर

आप डिफ़ॉल्ट मान सेट करने के लिए डेटाबेस ट्रिगर लिख सकते हैं, और मुझे before_create की बजाय before_save की अनुशंसा की जाएगी। मान लीजिए कि आप कारों पर कक्षाएं बना रहे हैं।

`` `

class Car
  before_save :default_type
  def default_type
    self.car_type ||= self.class.name
  end
end

class Honda < Car
end

class Tesla < Car
end

`` `

0
जोड़ा