0
我有一個簡單的待辦事項應用程序,其中有一個表格的新頁面,型號爲任務和索引頁。check_box_tag不接受值
當我創建的新觀點新任務: (erledigt做了完整起見機構)
<%= f.check_box(:erledigt,{}, 1, 0) %>
當我fireup 軌道ç
2.0.0-p247 :021 > Task.all.pluck(:erledigt)
(0.2ms) SELECT `tasks`.`erledigt` FROM `tasks`
=> [1, 1, 0, 0]
我看到表格保存我的輸入。
問題:
在每一個任務被選中,爲什麼索引視圖? 任何人都可以解釋或提供任何建議嗎?
<% @tasks.each do |task| %>
<tr>
<td><%= check_box_tag(task.erledigt, 1, 0) %> </td>
<td><%= link_to task.aufgabe, task %></td>
<td><%= task.beschreibung %></td>
<td><%= task.prioriaet %></td>
<td><%= link_to 'zeigen', task %></td>
<td><%= link_to 'LÖSCHEN', task, method: :delete, data: { confirm: 'Sicher?' } %></td>
</tr>
<% end %>
基本上索引視圖顯示所有的複選框,每一個任務的任務已被選中,但它應檢查如果「erledigt」屬性是1 正如你可以看到有有幾個任務現在0
索引視圖:
[X] TASK1
[X] TASK2
[X] TASK3
[X] task4
如何索引視圖應該是:
[X] TASK1
[X] TASK2
[] TASK3
[] task4
現在每項任務都未被選中...爲什麼? – Kei9Ahfu
讓我們在聊天上進行調試http://chat.stackoverflow.com/rooms/48530/ror –
問題是您正在測試'task.eledigt == 1'。它將是true或false(如果false不是默認值,則爲null),所以它永遠不會等於1.參數是(name,value,checked(bool)),所以你應該執行'check_box_tag(「task_erledigt」 ,「1」,task.erledigt)'。這是令人困惑的,我知道,你通過''1''的值而返回'true'。這只是關於如何將布爾值保存在數據庫中。 –