复选框表格输出不符合预期

时间:2016-01-14 01:35:44

标签: ruby-on-rails ruby-on-rails-4 checkbox ruby-2.0

我在rails 4中创建复选框表单时遇到问题。有两个问题,第一个是每个复选框旁边的问题,在表单的末尾,所有类别的ID和名称都打印出来在一个大清单中添加额外的丑陋格式。第二个问题是当我使用

id: dom_id(category)

为每个字段分配唯一ID,所有选项都已预先选定。

 <div class="field"> 
    <%= hidden_field_tag "user[category_ids][]", nil %>
    <%= UserCategory.all.each do |category| %>
      <%= check_box_tag 'user[category_ids][]', category.id, , id:  dom_id(category) %>
      <%= label_tag dom_id(category), category.name %><br>
    <% end %> 
  </div>

表单末尾的丑陋格式:

[#<Category id: 1, name: "school">, #<Category id: 2, name: "college">, #<Category id: 3, name: "university">, #<Category id: 4, name: "post-graduation">, #<Category id: 5, name: "doctorate">, #<Category id: 6, name: "master">, #<Category id: 7, name: "bachelor">, #<Category id: 8, name: "grad">, #<Category id: 9, name: "middle-school">, #<Category id: 10, name: "junior-school">, #<Category id: 11, name: "senior-school">]

帮助将不胜感激!

由于

1 个答案:

答案 0 :(得分:0)

=循环开始时消除<%中的UserCategory。它应该是:

<% UserCategory.all.each do |category| %>

对于第二个问题,您需要将false添加到check_box_tag来电:

<%= check_box_tag 'user[category_ids][]', category.id, false, id:  dom_id(category) %>