2012-05-02 77 views
14

我有一個嵌在文章中的模型'Article'和模型'Ratings'。Rails在form_for中更改提交路由

/用品/ 123 /評級

我想改變f.submit的路由收視率/ _form.html.erb 現在是這樣,在按下提交後,我的應用程序,以擊潰

/等級/ 111

,但我想它的路線

/條/ 123

我怎樣才能改變狂勝在form_for f.submit按鈕中。 我已經在這裏發現了這樣的事情:

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

但是,這並不爲我的導軌3.2工作。感謝您的幫助,

+0

你忘了在'<%'之後加'='。 不幸的是,我不明白你想要發送表單的控制器和操作。 –

回答

19

:url - 表單提交到的URL。它將傳遞給url_for或link_to的相同字段。特別是你可以直接通過這裏命名的路線。默認爲當前操作。

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

您還可以通過使用幫助器將它傳遞給path_name。所以你也可以做點像

: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'})