Rails在form_for中更改提交的路由

时间:2012-05-02 13:15:05

标签: ruby-on-rails ruby ruby-on-rails-3 routing form-submit

我有一个模型'文章'和模型'评级'嵌套在文章中。

/物品/ 123 /评分

我想在ratings / _form.html.erb中更改f.submit的路由 现在是这样,按下提交后,我的应用程序路由到

/评价/ 111

但我想把它路由到

/条/ 123

如何在form_for f.submit按钮中更改路由。 我在这里找到了类似的东西:

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

但这不适用于我的rails 3.2。谢谢你的帮助,

2 个答案:

答案 0 :(得分:23)

:url - 表单提交的URL。它需要传递给url_for或link_to的相同字段。特别是你也可以直接传递一个命名路线。默认为当前操作。

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

您也可以使用帮助程序将其传递给path_name。所以你也可以这样做

:url => update_article_path(@article)

答案 1 :(得分:4)

尝试form_for (:thing, url:{:controller=>'thing', :action=>'update'}, html:{method:'put'})