2013-11-04 12 views
8

के माध्यम से रेल में देखने से नियंत्रक कार्रवाई के पैरामीटर को कैसे पास किया जाए यह मेरा link_to सहायक है।लिंक_to सहायक

मैं इस link_to टैग में पैरामीटर संलग्न करना चाहता हूं ताकि मैं इसे connectTo क्रिया में प्राप्त कर सकूं। मैं सही वाक्यविन्यास या इसे करने का तरीका खोजने में असमर्थ हूं, और स्टैक ओवरफ्लो पर मिले कुछ उत्तरों को समझने में असमर्थ हूं। मैं इसे कैसे प्राप्त कर सकता हूं?

def connectTo 
    #here i want to get the parameter i pass from link_to from view... 
end 
+2

होगा, तो

link_to "Connect", home_connect_to_path(foo_param: 'bar_value') 

आपने '<% = link_to" कनेक्ट करने का प्रयास किया ", {नियंत्रक:" घर ", क्रिया:" कनेक्ट करने के लिए ", my_param: 'foo'}, id:" btny "%>', और फिर 'params [: my_param] '? –

+0

यह भी काम नहीं कर रहा है। मैंने आपके कोड और सहेजे गए पैरा [: my_param] को @myVar में सहेजा और कनेक्ट पर इसे प्रदर्शित करने के लिए देखा, और कोई आउटपुट नहीं मिला। –

+0

जब आप लिंक पर क्लिक करते हैं तो आपको क्या यूआरएल मिलती है? –

उत्तर

22
  1. रेल में चर नाम और विधि के नाम में ऊंट मामले का प्रयोग न करें। यह एक सम्मेलन नहीं है और बाद में आपको काट देगा।

  2. मैन्युअल रूप से नियंत्रक और क्रिया असाइन करने के बजाय नामित पथ का उपयोग करें।

अपने प्रश्न के लिए, अपने नाम पर रखा गया पथ लगता home_connect_to_path लिंक

http://localhost:3000/home/connect_to?foo_parms=bar_value 

की तरह फिर देखो नियंत्रक में इसे पाने के

def connect_to 
    foo = params[:foo_param] # 'bar_value' 
+0

मैं अपने नियंत्रक के लिए नामित पथ कैसे बना सकता हूं और देख सकता हूं? –

+2

एक बार जब आपने 'path.rb' में इस तरह के पथ को परिभाषित किया है, तो आप सभी पथों के नाम देखने के लिए कमांड लाइन में' रेक मार्ग 'चला सकते हैं। –

+0

क्या आप कृपया बता सकते हैं कि मार्ग.आरबी में पथ को कैसे परिभाषित किया जाए? –

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