Ruby:id从params [:id]变为null

时间:2013-03-02 23:36:36

标签: ruby routes params

我正在写一个表单,当它到达内容控制器时,我似乎错过了我的params [:id]。

这是我的routes.rb:

match '/site/content/myaction/:id', :to => 'contents#myaction'

表单是“myaction”,它位于部分_edit.html.erb:

<%= form_tag :action => 'myaction' do %>
    <input id="old_id" name="myaction_name" type="text" />
    <%= submit_tag 'Submit' %>
<% end %>
在我提交表单之前

/site/content/edit/:id/ 在我点击提交后,我在错误页面,我在:/site/content/myaction/

它在内容控制器中得到了myaction但是我得到了id为null的错误......这里是params:

{"utf8"=>"✓",
 "old_id"=>"2",
 "commit"=>"Submit",
 "id"=>nil}

我缺少什么?似乎也许它没有选择我的路线?那怎么重新指导......

非常感谢任何建议。

1 个答案:

答案 0 :(得分:1)

您需要将ID传递给表单的网址:

form_tag :action => 'myaction', :id => 5 do