【问题标题】:Rails change routing of submit in form_forRails 更改 form_for 中提交的路由
【发布时间】:2012-05-02 13:15:05
【问题描述】:

我有一个模型“文章”和一个嵌套在文章中的模型“评分”。

/articles/123/评级

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

/ratings/111

但我想将其路由到

/article/123

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

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

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

【问题讨论】:

  • 您忘记在&lt;% 之后添加=。不幸的是,我不明白您要发送表单的控制器和操作。

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


【解决方案1】:

:url - 表单提交到的 URL。它采用您传递给 url_for 或 link_to 的相同字段。特别是,您也可以在此处直接传递命名路线。默认为当前操作。

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

您也可以使用帮助程序将路径名传递给它。所以你也可以做类似的事情

:url => update_article_path(@article)

【讨论】:

  • 不,这对我不起作用 >> form_for(@rating), :url => (:action => "show", :id => @article) 做 |f| >> 我得到的错误是这样 >> 语法错误,意外 tASSOC,期待关键字_end...nd=
【解决方案2】:

试试form_for (:thing, url:{:controller=&gt;'thing', :action=&gt;'update'}, html:{method:'put'})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多