2013-06-03 62 views
1

我無法正常工作。我想要做的是有一個用團隊號碼填充的下拉菜單,然後根據用戶選擇哪一個下拉菜單將它們帶到該團隊的編輯頁面。我可以讓下拉列表正確填充,但我無法將其帶到正確的頁面。當我以不同的方式測試它時,它會將我帶到正確的頁面,所以我不相信它是一個路由錯誤。Ruby on Rails:使用Collection_select和編輯路徑

有問題的代碼:

<%= 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 %> 

我得到的錯誤: 沒有路由匹配{:動作=> 「編輯」,:控制器=> 「corevalues」:ID =>零}

但是,如果我評論說出來和測試:

<%= link_to "TEST", edit_corevalue_path(2) %> 

然後它的工作原理,並帶我到正確的頁面。我相信這個錯誤是,它使用@corevalue時沒有得到正確的ID,但我不太確定如何解決它或正確的語法。任何幫助是極大的讚賞。謝謝。

回答

0

我想你想使用:id代替:corevalue_id的第二個參數的collection_select功能:

<%= collection_select(:corevalue, :id, Corevalue.all, :id, :teamNumber, :prompt => "Select Team") %> 

See ActionView reference

+0

我試過,但它仍然給了我同樣的錯誤,謝謝。 –