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

checkbox form ouput is not as expected

我在 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">]

不胜感激!

谢谢

UserCategory 循环开始时从 <% 中删除 =。应该是:

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

对于第二个问题,您需要将 false 添加到 check_box_tag 调用中:

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