मैं अपने पहले रेल ऐप (रेल 3) में कुछ आसान करने की कोशिश कर रहा हूं और मुझे यकीन नहीं है कि मैं क्या गलत कर रहा हूं, या यदि कोई बेहतर दृष्टिकोण है। वेब पर या यहां कुछ भी नहीं मिला है जो बहुत खोज के बावजूद मेरे लिए हल कर चुका है।रेल 3: बटन_to के माध्यम से मनमानी पैरामीटर पास करें?
ऐप में मेरे पास वर्करेक्वेस्ट और आलेख हैं। एक आलेख देखते समय, मैं एक वर्कआरक्वेट बनाने के लिए एक बटन चाहता हूं, और जब नया वर्करेक्वेस्ट प्रपत्र प्रकट होता है, तो आलेख भर जाता है। अनिवार्य रूप से, मैं Article.id को नए WorkRequest को पास करने का प्रयास कर रहा हूं।
पैरामीटर जोड़कर लिंक_इन में काम करता है, लेकिन मैं इसे एक बटन होना चाहता हूं। हालांकि यह आलेख फ़ॉर्म के HTML में क्वेरी पैरामीटर के रूप में दिखाई देता है, यह कभी भी WorkRequest.new विधि को नहीं मिलता है। This 2010 से आलेख कुछ विस्तार में समस्या बताता है, लेकिन समाधान मेरे लिए काम नहीं करता है (पृष्ठ के अंत में मेरी टिप्पणी देखें।)
ऐसा लगता है कि यह करना काफी आसान और सामान्य बात होना चाहिए (एक बार जब मैं इसे समझता हूं, तो मेरे अपने ऐप में कई अन्य जगहें हैं जहां मैं वही काम करना चाहता हूं) लेकिन मैं कुछ दिनों के लिए इस विशेष दीवार के खिलाफ अपने सिर को टक्कर लगी हूं। मैं रेल के लिए नया हूं - यह मेरा पहला ऐप है - इसलिए मुझे उम्मीद है कि कोई और अनुभवी मदद कर सकता है!
अग्रिम धन्यवाद।
यह काम नहीं करता है, किशी। मुझे एक त्रुटि मिलती है: "कोई रूट मैचों"/work_requests/new "। ठीक है, मुझे इसके बारे में पता है: ऐसा इसलिए है क्योंकि यह POST का उपयोग कर रहा है और इसे GET का उपयोग करने की आवश्यकता है। इसे जोड़कर ठीक कर सकते हैं: method =>: प्राप्त करें, जैसे: '<% = button_to (" वर्कआरक्वेट जोड़ें ", {: नियंत्रक =>" work_requests ",: action =>" new ",: module_id => @ pier_module.id},: method =>: get)%>' लेकिन पैरामीटर छीन लिया गया है। यह समस्या है। इस आलेख में मैंने अपने मूल प्रश्न में लिंक किए गए लेख में विस्तार से विस्तार से बताया है। –
नोट करें कि यदि आप अपना बटन_to लिंक करने के लिए link_to में बदलते हैं, तो लिंक और बटन मिश्रण करना सिर्फ अजीब लगता है। मुझे लगता है कि मैं एक मेनू लेआउट का सहारा ले सकता है, जो सभी लिंक का उपयोग करेगा, लेकिन मैं नहीं देख सकता कि कोई बटन मनमानी पैरामीटर क्यों नहीं पारित कर सकता है। बात यह है कि मुझे यकीन नहीं है कि यह इरादा व्यवहार है, कम से कम मामले में तर्कसंगत सीखना इसके लिए मुझे इसकी समझ में मदद मिलेगी, या यदि यह 'बग' है या यदि मैं ऐसा करने का प्रयास कर रहा हूं तो ऐसा करने का एक बेहतर तरीका है। –
आप रेल के किस संस्करण का उपयोग करते हैं? मेरा जवाब पोस्ट करने से पहले मैंने इसे चेक किया और यह अच्छा हुआ! –