2013-12-13 4 views
9

का उपयोग करके मार्ग प्राप्त करें मैं RoR के लिए काफी नया हूं और मैं किसी दिए गए नियंत्रक के लिए मार्ग प्राप्त करने का एक तरीका ढूंढ रहा हूं, कार्रवाई & परम।रेल पर रूबी: नियंत्रक, क्रिया और परम

कुछ url_for() के समान है लेकिन डोमेन और प्रोटोकॉल के बिना।

params = {"controller"=>"controller", "action"=>"edit", "project_id"=>"1"} 

मैं प्राप्त करने की आवश्यकता:

कहते हैं कि मैं है की सुविधा देता है

route = "/controller/edit/1" 

यह सबसे अच्छा अगर मैं मैन्युअल रूप से रूट का निर्माण करने की जरूरत नहीं है हो सकता है और अगर मैं की जरूरत नहीं है url_for() के परिणाम विभाजित करें।

क्या RoR मूल रूप से ऐसी सुविधा का समर्थन करता है? यह शायद एक आसान सवाल है, लेकिन मुझे कोई जवाब नहीं मिला।

+0

पर उपलब्ध अधिक जानकारी नामित यूआरएल का उपयोग करके इस बनाम का उपयोग करने का कोई विशिष्ट कारण है? – screenmutt

+2

'my_action_my_controller_path (project_id: 1) 'आपके जैसा पथ उत्पन्न करने की तुलना में सहायक है (यदि आवश्यक हो तो इसके बजाय' my_action_my_controller_url' का उपयोग करें) – MrYoshiji

+1

@MrYoshiji हाँ! धन्यवाद; यह वहीं है जिसे मैं ढूंढ रहा था। मुझे इस सहायक के बारे में अधिक जानकारी मिली: http://guides.rubyonrails.org/routing.html#path-and-url-helpers –

उत्तर

4

यह सहायक है कि एक पथ उत्पन्न होगा है आप की तरह हैं:

edit_controller_path(project_id: 1) 

आप इस हेल्पर का उपयोग कर सकते लिंक की (मेजबान सहित) पूर्ण पथ उत्पन्न करने के लिए:

edit_controller_url(project_id: 1) 

संपादित करें : http://guides.rubyonrails.org/routing.html#path-and-url-helpers

1

आप का उपयोग करने के लिए सक्षम होना चाहिए निम्नलिखित

link_to "Link Content", :controller => "my_controller", :action => "my_action", :project_id => 1 

यह आपके नियंत्रक/कार्रवाई करने के लिए लिंक के साथ एक <a> का उत्पादन करेगा।

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