我已經將下拉選擇添加到表單之前,但無法讓他們在索引視圖中工作。我已經閱讀了這個API並且無法獲得任何工作。Rails - 添加一個下拉選擇索引與數據庫更新
基本上,我已經得到了索引視圖中所有任務的列表。我將數據庫中的默認值設置爲「否」。我希望能夠循環執行所有任務,並在選項「否」,「是」和「部分」中顯示下拉選擇。然後,我希望能夠在創建時使用該選項更新該任務的字段。
我不能讓下拉工作 - 每當我嘗試使用task.select時,它說select是一個私有方法。我很抱歉,我對鐵軌相當陌生 - 任何人可以提供的幫助都會很棒!如何讓下拉菜單起作用,以及如何確保在數值更改時數據庫得到更新?
謝謝!
查看代碼(這裏是我迄今爲止) - 任務/指數:
<table class="table table-striped table-bordered">
<tr>
<th>Name</th>
<th>Category</th>
<th>Notes</th>
<th>Completed?</th>
<th></th>
<th></th>
<th></th>
</tr>
<% @tasks.each do |task| %>
<tr>
<td><%= task.name %></td>
<td><%= task.category %></td>
<td><%= task.notes %></td>
<td><%= task.select :complete, ['No','Yes','Partly'], :selected => 'No' %></td>
<td><%= link_to 'Show', task %></td>
<td><%= link_to 'Edit', edit_task_path(task) %></td>
<td><%= link_to 'Delete', task, confirm: 'Are you sure?', method: :delete %></td>
</tr>
<% end %>
</table>
UPDATE:
更多的研究後,我已經改變的代碼行:
<td><%= task.select :complete, ['No','Yes','Partly'], :selected => 'No' %></td>
至:
<% form_for task do |f| %>
<td><%= select :task, :complete, [ ["Yes",2], ["Partly",1], ["No",0]] %></td>
<% end %>
當我嘗試加載頁面時,這已經停止了拋出錯誤,但是,'表'應該沒有什麼地方 - 並且源代碼中沒有任何內容,這些行將被跳過。如何獲得此表單以及如何在選擇更改時更改數據庫?謝謝!
謝謝 - 我結束了使用AJAX的方式 - 以防其他人發現它有用,我使用了最好的地方寶石,說明在這裏:http://railscasts.com/episodes/302-in-place-editing – ecs