我无法解决这个问题。我想要做的是有一个下拉列表,其中包含团队编号,然后根据用户选择的下拉列表将其带到该团队的编辑页面。我可以让下拉列表正确填充,但我不能让它带我到正确的页面。当我以不同的方式测试时,它会将我带到正确的页面,因此我不认为这是路由错误。
有问题的代码:
<%= form_tag edit_corevalue_path(@corevalue), method: 'get' do %>
<%= collection_select(:corevalue, :corevalue_id, Corevalue.all, :id, :teamNumber, :prompt => "Select Team") %>
<%= submit_tag "Submit!", :name => nil , class: "btn btn-large btn-primary" %>
<% end %>
我收到错误: 没有路线匹配{:action =&gt;“edit”,:controller =&gt;“corevalues”,:id =&gt; nil}
但如果我发表评论并用以下方法进行测试:
<%= link_to "TEST", edit_corevalue_path(2) %>
然后它工作并带我到正确的页面。我相信错误是它在使用@corevalue时没有获得正确的id,但是我不太确定如何修复它或者正确的语法是什么。任何帮助是极大的赞赏。谢谢。
答案 0 :(得分:0)
我认为你想使用:id
而不是:corevalue_id
作为collection_select函数的第二个参数:
<%= collection_select(:corevalue, :id, Corevalue.all, :id, :teamNumber, :prompt => "Select Team") %>