2009-03-02 16 views
17

शुरुआत के बाद से, रेलों को नामांकित मॉडल के साथ समस्याएं थीं। समय बीतने के बाद, हर किसी ने इसे इस्तेमाल करने पर छोड़ दिया। स्वयं शामिलरेल में नामांकित मॉडल: संघ की स्थिति क्या है?

रेल 2.3 के साथ, मुझे स्थिति पर एक अपडेट चाहिए। मेरे मन में विशिष्ट प्रश्न हैं:

  • पहले बंद, क्या यह जाना अच्छा है?
  • टेबल नामकरण, किस नियम का पालन करना है?
  • एसोसिएशन, कम से कम वर्बोजिटी के साथ उन्हें कैसे घोषित करें? विदेशी कुंजी कॉलम का नाम कैसे दें?
  • स्वत: आवश्यकता है, क्या यह काम करता है यदि आप मॉडल फ़ाइलों को नामस्थान से मेल खाने वाले उपदीर में डालते हैं? या, फाइलों को कैसे नाम और कहां रखा जाए?
  • पीढ़ी, मॉडल जनरेटर नामस्थान सफलतापूर्वक और सही तरीके से संभालता है?
  • पीढ़ी, मचान जनरेटर के बारे में, जिसमें नियंत्रक शामिल हैं?
  • किसी भी असंगतता/quirkinesses किसी के बारे में पता होना चाहिए?
+0

मुझे एहसास है कि मैं इस सवाल पूछने में आलसी आलसी हूं, क्योंकि मैं जल्दी से अपने उत्तर का अधिक शोध कर सकता हूं, लेकिन मैं उम्मीद में हूं कि कोई भी पहले से ही बहुत दर्द से गुजर चुका है और इसे साझा करना चाहता है। – kch

+0

मुझे लगता है कि यह एक अच्छा सवाल है। मैं देख रहा हूं कि वापस क्या आता है क्योंकि मैं एक और हूं जो इसे चाहता था, कोशिश की, दर्द महसूस किया और छोड़ दिया। –

+1

यह सवाल अब काफी पुराना है। मैं उत्सुक हूं कि अब चीजें कैसे सुधार हुई हैं कि रेल 4.0 बाहर है। – Andrew

उत्तर

14

इस मुद्दे पर मैंने देखा है कि सबसे अच्छा लेखन Strictly Untyped से है। मेरे ज्ञान 2.3 ने किसी भी मुद्दे का समाधान नहीं किया है, जिसका अर्थ है कि वे अभी भी अविश्वसनीय हैं।

+0

शीर्षक में लोलकैट के साथ कुछ भी अच्छा होना चाहिए। जांच करूंगा। – kch

+0

लिंक अब टूट गया है। क्या आप अब इस जवाब को अपडेट प्रदान कर पाएंगे कि रेल 4 बाहर है? – Andrew

3

हमने हाल ही में हमारी कंपनी के अंदर इस बारे में एक बड़ी बहस की थी। मुझे लगता है कि दिन के अंत में, हमने पाया कि यदि आप किसी डेटाबेस के अंदर टेबलस्पेस नाम नहीं दे सकते हैं, तो मॉडल को नाम देने का कोई मतलब नहीं है। हम अपने मॉडल (उपयोगकर्ता, UserAddress, UserEmailAddresses) लगाकर और उन्हें उपयोगकर्ताओं निर्देशिका में डाल, तो प्रयोग पर बसे:

config.load_paths << "#{RAILS_ROOT}/app/models/users" 

मॉडल लोड करने के लिए। हमारे मॉडल में शब्दाडंबर नियंत्रित करने के लिए, हम इस बार बार करते हैं:

has_many :addresses, :class_name => "UserAddress" 

जब पैदा करने, हम इसे बनाने के रूप में अगर कोई नाम स्थान (स्क्रिप्ट/उत्पन्न मॉडल UserAddress) था तो मैन्युअल रूप से उपयोगकर्ता निर्देशिका में कॉपी।

शग। मुझे अंत में लगता है कि यह वास्तव में आपको एक क्लीनर निर्देशिका संरचना प्रदान करता है, जो वास्तव में मेरे जैसे वीआईएम उपयोगकर्ता के लिए अधिक परेशानी है, लेकिन टेक्स्टमैटर्स के लिए अच्छा है।

+0

वास्तव में, टेक्स्टमैटर के रूप में मुझे आपको यह बताने चाहिए कि मैं फ़ाइलों पर जाने के लिए cmd + T, शायद ही कभी फ़ाइल ब्राउज़र का उपयोग करता हूं। वैसे भी, यह मामूली मददगार है, लेकिन क्या आप कह रहे हैं कि आपने रेल 2.3 में नेमस्पेसिंग करने का प्रयास किया है और यह अभी भी एसओएल है? – kch

+0

मैं वीआईएम में सीएमडी + टी के समान कुछ उपयोग करता हूं, और फ़ोल्डर्स में चीजों को डालने के बारे में अच्छी बात यह है कि आप "एम/यू /" कर सकते हैं और सीएमडी + टी शायद मॉडल/उपयोगकर्ताओं/को कम कर देगा, जो बहुत उपयोगी है (अधिकांश cmd + t उपयोगकर्ताओं को यह नहीं पता है कि स्लेश निर्देशिका द्वारा सूची को संकीर्ण करते हैं) – efalcao

+0

आपके शेष प्रश्न के जवाब में, हमने 2.3 में इसका प्रयास नहीं किया। इसके अलावा, मैंने 2.3 परिवर्तनों में कुछ भी नहीं देखा है जो विशेष रूप से "हरे रंग की रोशनी" नामित मॉडल हैं। – efalcao

-2

मैं अभी भी इससे दूर रहूंगा। कुछ भी प्राप्त हुआ (जो मुझे यकीन नहीं है कि ईमानदारी से क्या होगा) निश्चित रूप से खो जाएगा जब आप अपने कोड में ब्रेवटी और स्पष्टता की परेशानी और हानि को देखते हैं।

मेरे नवीनतम ऐप में 87 संसाधन हैं, और इसमें सभी जगह प्रशासनिक सुविधाएं शामिल हैं। मुझे नेमस्पेसिंग, आईएमएचओ की कोई ज़रूरत नहीं है।

+0

ठीक है, कुछ लोग नेमस्पेसिंग के साथ बेहतर काम करते हैं, कुछ परवाह नहीं है। आप हमेशा इसके आस-पास के तरीकों को ढूंढ सकते हैं, नरक, बहुत सी भाषाओं में कोई नहीं है। जरूरत/विकल्प के बावजूद, यह एक सवाल है जिसका जवाब अच्छा होगा। – kch

+2

यह एक शॉर्ट्सटेड कंबल स्टेटमेंट है। नामस्थानों के लिए आकर्षक कारण उनके समानता की तुलना में मॉडल की मात्रा के बारे में कम नहीं हैं। – gtd

+0

जब तक आपका एप्लिकेशन विस्तार न हो जाए तब तक प्रतीक्षा करें और आप नए डेवलपर्स को जल्दी से सीखने का प्रयास करें कि आपका एप्लिकेशन कैसे काम करता है और यह तर्क करने का प्रयास करें। – jwg2s

संबंधित मुद्दे