मैं रेल स्रोत कोड का विश्लेषण कर रहा हूं, क्योंकि मैं has_many
और इसी तरह की संरचनाओं के आंतरिक कार्यों को समझना चाहता हूं।रेल पर रूबी कितनी है (और इसी तरह) लागू है?
अब तक, मैं जहां विधि कार्यान्वित किया जाता है (link to github) ढूँढने में सक्षम था: यह वर्ग ActiveRecord में मॉड्यूल ActiveRecord :: संघों
def has_many(name, options = {}, &extension)
Builder::HasMany.build(self, name, options, &extension)
end
यह एक eventualy समाप्त होता है (link to github) में है :: संघों :: बिल्डर :: CollectionAssociation
def self.build(model, name, options, &extension)
new(model, name, options, &extension).build
end
के रूप में जहाँ मेरे गहरे लाल रंग का कौशल अंत है और मैं इसे आगे ट्रैक नहीं कर सकता है और जहां 'नई' लागू किया तथा उसके द्वारा किया जाता है लगता है नहीं है।
क्या कोई मुझे सही दिशा में इंगित कर सकता है और हो सकता है कि हुड के नीचे क्या हो रहा है?
+1 उपकरण के स्रोत कोड ध्यानपूर्वक पढ़ने के लिए:
allocate
इस तरह परिभाषित किया गया है अपने आंतरिक की गहरी समझ। जाने के लिए रास्ता। –@ एसएम .: मैं सहमत हूं। यदि स्रोत कोड पढ़ना "अनुसंधान प्रयास नहीं दिखाता है" (जैसा कि अपवॉट बटन के लिए टूलटिप कहता है), मुझे नहीं पता कि क्या करता है! +1! –
उत्तर देने के लिए सभी को धन्यवाद। मैंने जोर्ग का जवाब स्वीकार कर लिया, क्योंकि यह सबसे विस्तृत है। मैं बाल्ड्रिक और एसएम भी +1 करता हूं उत्तर देने वाले पहले व्यक्ति होने के लिए। –