Rails, Ruby classes / modules / namespaces confusion -
मेरे पास रेल मॉडल है: उसके बाद मेरे पास: और, अंत में, मेरे पास एक मॉड्यूल है: अगर मैं ऐसा करने का प्रयास करता हूं: अगर मैं कोशिश करता हूँ लेकिन, अगर मैं तो, 1) ऐसा क्यों है ? कैसे इन सभी वर्गों, मॉड्यूल, नाम स्थान, inclusions संभाल करता है? 2) क्या एक ही बात का नाम बदलने के लिए सबकुछ काम करना संभव है? धन्यवाद अग्रिम! < / P> आपको एक मध्यवर्ती ए :: बी की आवश्यकता हो सकती है उदाहरण के लिए: < पूर्व> यह मॉड्यूल या वर्ग ए और ए :: बी पर निर्भर करता है परिभाषित आप यह कदम उठा सकते हैं: यह सभी मध्यवर्तीों को सशक्त घोषित करेगा चूंकि यह बहुत सारे इंडेंटेशन का परिचय देता है, एक थोड़ा कम गड़बड़ा दृष्टिकोण है: निश्चित रूप से, उचित मध्यवर्ती घोषणाओं के साथ ऐप / मॉडल / एआरबी - & gt;
वर्ग ए & lt; ActiveRecord :: बेस
ऐप / सेवाएं / ए / बी / सीआरआर - & gt;
वर्ग ए :: बी :: सी , जहां दोनों
एक और
b फ़ोल्डर हैं >
मॉड्यूल बी एपीएआईके,
ऐप / & लेफ्टिनेंट; फ़ोल्डनाव & gt; autoloaded है, (यह इस नाम के साथ एक बाहरी मणि है)।
ए :: बी :: सी न्यू यह एक त्रुटि संदेश फेंकता है:
निपुण स्थिर ... ... द्वारा संदर्भित ... (बिल्कुल नहीं याद है) - दूसरे शब्दों में, यह नहीं काम करता है
एप / सेवा / ए / एक्स। आरबी (
वर्ग ए :: एक्स )
A :: B , मैं बस एक चेतावनी संदेश के साथ
B (मणि) मिलता है (लेकिन यह काम जारी है)।
एक या
बी फ़ोल्डर का नाम (और निश्चित रूप से वर्ग के हस्ताक्षर) - यह ठीक काम करता है!
a / b.rb इसे संदर्भ देने से पहले मॉड्यूल
A :: B को ठीक से परिभाषित करें, या आप अपनी अंतिम फ़ाइल में अपनी घोषणा फिर से कर सकते हैं।
# ए / बी / सीआरबी वर्ग ए :: बी :: सी एंड
वर्ग एक मॉड्यूल बी वर्ग सी एंड एंड एंड
वर्ग एक मॉड्यूल बी अंत अंत वर्ग ए :: बी :: सी एंड
a.rb और
a / b.rb होने पर अक्सर यह सब से बचने में मदद मिलती है। < / html>
Comments
Post a Comment