显示Rails复选框可根据数据库中的值进行选中或取消选中

时间:2012-04-25 18:55:48

标签: ruby ruby-on-rails-3

我已经尝试了一切。

我是rails的新手,并尝试构建一个显示待办事项列表的简单应用程序。每个项目都有一个复选框,该复选框将保存到名为done的数据库中的布尔列中。编辑任务并将其标记为已选中时,将选中相应的复选框。但是当我转到设置为列出所有待办事项的index页面时,无论数据库中的值是什么,复选框都将保持未选中状态。

以下是edit.html.erb

<div class="item">
<%= form_for(@item) do |f| %>

    <%= f.check_box :done %>
    <%= f.label :content, "Task" %>
    <%= f.text_field :content %>

    <%= f.submit "Save changes", class: "btn submit" %>
<% end %>
</div>

以下是index.html.erb

<%= render 'layouts/new' %>

<ul class="items">
  <% @items.each do |item| %>
    <li>
    <%= check_box_tag 'done', item.done %>
    <%= item.content %>
    <%= link_to "Edit", edit_item_path(item) %> | 
    <%= link_to "Delete", item, :method => :delete, :confirm => "Are you sure?", :title => "Delete item"%>
    </li>
  <% end %>
</ul>

任何指导?

1 个答案:

答案 0 :(得分:3)

第三个值是已选中。 所以,

<%= check_box_tag 'done', '1', item.done %>

1是第三项是检查值的值