ओवरराइटिंग बनाम फिर से खोलना मैं परीक्षण में उपयोग करने के लिए रेल मॉडल में एक विधि जोड़ना चाहता हूं। अगर मैं रेल कंसोल में या चलाने के समय लोड एक फ़ाइल में इसरुबी/रेल: एक कक्षा
class Model
def something_new
do_something
end
end
करते हैं, मॉडल के बजाय ओवरराइट है संशोधित। यदि मैंने उपर्युक्त पंक्तियों से पहले v = Model.class
जैसे कुछ डाला है, तो नई विधि सफलतापूर्वक मौजूदा कक्षा में जोड़ दी गई है। जाहिर है कि संकेत देने के लिए संदर्भ की आवश्यकता है कि एक मौजूदा वर्ग फिर से खोला जा रहा है।
दूसरी ओर, कोई भी इसे पहले संदर्भित किए बिना फिक्सनम कहने के लिए एक विधि जोड़ सकता है। यहां क्या हो रहा है, और यह सुनिश्चित करने का सामान्य तरीका क्या है कि मौजूदा वर्ग को फिर से खोला और संशोधित करने के बजाय संशोधित किया गया है?
धन्यवाद।
धन्यवाद, यह समस्या थी। जब मैंने देखा कि मॉडल वर्ग पहले ही पहचाना गया था, मुझे एहसास नहीं हुआ कि यह केवल "स्वचालित रूप से" पहचाना गया था। –