2012-05-02 26 views
14

में जमा करने की रूटिंग बदलती है मेरे पास लेख 'लेख' और लेखों के भीतर घोंसला वाला एक मॉडल 'रेटिंग' है।रेल 0 में

/लेख/123/रेटिंग

मैं रेटिंग में f.submit का मार्ग बदलना चाहते हैं/_form.html.erb अब यह इतना है, कि दबाने के बाद

के लिए प्रस्तुत, अपने आवेदन routs

/मूल्यांकन/111

लेकिन मैं

/लेख/123

मैं कैसे भगदड़ बदल सकते हैं

के लिए यह रूट करना चाहते f.submit बटन के लिए form_ में inging। मैं यहाँ कुछ इस तरह मिल गया है:

<% form_for :thing, :url => 
url_for(:action => "update", :id => @thing) do |f| %> 

लेकिन यह मेरी रेल 3.2 के लिए काम नहीं करते। आपकी मदद के लिए धन्यवाद,

+0

आप '<'' '% के बाद' = 'जोड़ना भूल गए। दुर्भाग्यवश मुझे समझ में नहीं आया कि आप किस नियंत्रक और कार्रवाई को फॉर्म भेजना चाहते हैं। –

उत्तर

19

: यूआरएल - फॉर्म को यूआरएल जमा किया गया है। यह वही फ़ील्ड लेता है जो आप url_for या link_to पर जाते हैं। विशेष रूप से आप यहां सीधे नामित मार्ग भी पास कर सकते हैं। वर्तमान कार्रवाई के लिए डिफ़ॉल्ट।

<% form_for :thing, :url => {:action => "update", :id => @thing} do |f| %> 

आप इसे सहायक का उपयोग करके पथ_नाम भी पास कर सकते हैं। तो आप

:url => update_article_path(@article) 
+0

नहीं यह मेरे लिए काम नहीं करता है >> form_for (@rating),: url => (: action => "show", id => @article) do | f | >> मुझे जो त्रुटि मिलती है वह है >> वाक्यविन्यास त्रुटि, अप्रत्याशित tASSOC, keyword_end की उम्मीद ... nd = – Lailo

+0

मैंने अब उत्तर जांच संपादित की है – Abid

3

form_for (:thing, url:{:controller=>'thing', :action=>'update'}, html:{method:'put'}) को आजमाएं।