मैंने कुछ हफ्ते पहले रेल पर रूबी सीखना शुरू किया था, और मुझे चीजों की लटका पाने और मचान का उपयोग न करने और कमांड लाइन से विभिन्न हिस्सों को उत्पन्न करने के माध्यम से अपना रास्ता सीखना बहुत आसान लगता है (या एक आईडीई में मैक्रोज़)।
हालांकि, मैं जो कह सकता हूं, जब आप चीजों को उत्पन्न करने के लिए मचान का उपयोग करते हैं, तो आप इसे "संसाधन" उत्पन्न करने के बारे में सोचते हैं, इसलिए आप एक समय में केवल एक संसाधन बनाने जा रहे हैं, फिर संबंधों में जोड़ें बाद में हाथ से
हालांकि, उत्पन्न मॉडल कमांड आपके लिए इन रिश्तों को बना सकता है। आइए कहें कि आपने स्केल संसाधन बनाने के लिए मचान का उपयोग किया था।
फिर आप
ruby script/generate model GuitarString name:string scale:references
पैमाने कर सकता है: संदर्भ अपने GuitarString मॉडल पर एक belongs_to :scale
पैदा करेगा, लेकिन आप has_many जोड़ने की आवश्यकता होगी: अपने पैमाने पर मॉडल के लिए guitarstrings।
जेनरेट मॉडल कमांड भी आपके लिए और अन्य फ़ाइलों की आवश्यकता (फिक्स्चर) के लिए एक माइग्रेशन स्क्रिप्ट बनाता है, जो मचान के समान है, लेकिन विचार या नियंत्रक या कुछ भी स्वत: नहीं करता है।
संपादित करें:
यह आमतौर पर है कि कैसे आप काम करने के लिए चाहते करने जा रहे हैं - का उपयोग उत्पन्न/मॉडल या/दृश्य उत्पन्न या/नियंत्रक उत्पन्न या/माइग्रेशन उत्पन्न करते हैं। अधिकांश रेल डेवलपर्स मचान का उपयोग नहीं करते हैं, क्योंकि इसका "एक आकार सभी फिट बैठता है" शायद ही कभी चीजों को पूरी तरह से फिट करता है। हालांकि, अधिकांश रेल डेवलपर्स मैंने जेनरेट किए गए जेनरेट कमांड का उपयोग करते हैं - यह हाथ से मददगार और फिक्स्चर बनाने के साथ समय बचाता है, और यह प्रत्येक फ़ाइल को एक बुनियादी टेम्पलेट जेनरेट करता है जिसे आप जोड़ सकते हैं।
कई रूबी आईडीई जैसे जेटब्रेन के रूबीमाइन में मैक्रोज़ हैं जो अनिवार्य रूप से इन आदेशों को निष्पादित करते हैं। रूबीमाइन में आप ctrl + alt + g कर सकते हैं, फिर आप जो उत्पन्न करना चाहते हैं उससे संबंधित एक और कुंजी दर्ज करें।
जैसा कि मैंने उल्लेख किया है, "संदर्भ" शब्द का उपयोग करके संबंधित_तो संबंध उत्पन्न किया जा सकता है। दूसरों को आप हाथ से जोड़ देंगे।
स्रोत
2010-04-04 17:23:41
http://stackoverflow.com/questions/502119/rails-scaffold-to-automatically-do-one-to-many-relationship – hobodave
@ होबोडेव के संभावित डुप्लिकेट: सिलिमार, हाँ। वह पूछ रहा है "क्या यह किया जा सकता है" और मैं पूछ रहा हूं "क्या ऐसा करने का यह तरीका है, अगर नहीं, तो कैसे?" – Simon
आप मेरे उत्तर में संपादन को देखना चाहते हैं। –