मैंने हाल ही में एक रेल परियोजना शुरू की और RESTful नियंत्रकों का उपयोग करने का फैसला किया। मैंने अपनी प्रमुख इकाइयों (जैसे देश) के लिए नियंत्रक बनाए और index
, new
, edit
, create
, show
, update
और delete
जोड़ा। मैंने अपनी map.resources :country
को अपनी मार्ग फ़ाइल में जोड़ा और जीवन अच्छा था।मेरे रेल एप्लिकेशन को एक यथार्थ वास्तुकला में फिट करने के लिए मुझे कड़ी मेहनत करने की आवश्यकता क्यों है?
विकास के बाद थोड़ा सा प्रगति हुई, मुझे समस्याओं का सामना करना पड़ा। मुझे कभी-कभी अपने नियंत्रक में अतिरिक्त कार्रवाइयों की आवश्यकता होती है। सबसे पहले search
एक्शन था जो मेरे फैंसी ऑटोकंपलेटिंग सर्च बॉक्स के लिए विकल्पों को वापस कर देता था। फिर आवेदन में विभिन्न स्थानों में देशों को दो अलग-अलग तरीकों से प्रदर्शित करने की आवश्यकता आई थी (प्रदर्शित डेटा भी अलग था, इसलिए यह केवल दो विचार नहीं था) - मैंने index_full
कार्रवाई को जोड़ा। फिर मैं यूआरएल में नाम से देश दिखाना चाहता था, आईडी द्वारा नहीं, इसलिए मैंने show_by_name
एक्शन जोड़ा।
जब आप परे कार्रवाई की जरूरत है क्या करते हो मानक index
, new
, edit
, create
, show
, update
, रेल में एक आरामदायक नियंत्रक में delete
? क्या मुझे रूट.आरबी फ़ाइल (जो दर्द है) में मैन्युअल मार्ग जोड़ने (और बनाए रखने) की आवश्यकता है, क्या वे एक अलग नियंत्रक में जाते हैं, क्या मैं अनावश्यक हो जाता हूं या क्या मुझे कुछ मौलिक याद आ रही है?
मुझे लगता है कि मैं पूछ रहा हूं, क्या मुझे कड़ी मेहनत करने और मेरे मार्गों में कार्रवाई जोड़ने की आवश्यकता है। आरबी फ़ाइल रीस्टफुल होने के विशेषाधिकार के लिए? अगर मैं आरईएसटी उपहार जोड़ने के लिए map.resources
का उपयोग नहीं कर रहा था, तो मानक :controller/:action, :controller/:action/:id
मार्ग स्वचालित रूप से बहुत अधिक सब कुछ संभाल लेंगे।
रेल डिफ़ॉल्ट विधियों के कारण आरईएसटी के अर्थ के बारे में बहुत भ्रम लगता है। आरईएसटी उन तरीकों तक ही सीमित नहीं है, और वास्तव में उन विशेष तरीकों के बारे में नहीं है। मुझे यह भी समझ में नहीं आता कि आपको लगता है कि नियंत्रक को अतिरिक्त तरीकों को जोड़ने के दौरान आपको कड़ी मेहनत क्यों करनी है। – jshen