`

Rails用check_box_tag收集多个复选框的值

阅读更多

ps:尽量不要用带_tag的方法

--------------------------

源自: http://hi.baidu.com/hlxwell/blog/item/9b398cd379c89933960a1662.html

错误的处理方式:

.html.erb

<% @roles.each do |role| %>
  <%= check_box_tag 'roles', role.id %>
  <%= label_tag role.name %>
<% end %>

生成的页面

      <input type="checkbox" value="1" name="roles" id="roles">
      <label for="SuperAdmin">Superadmin</label>
    
      <input type="checkbox" value="2" name="roles" id="roles">
      <label for="Teacher">Teacher</label>
    
      <input type="checkbox" value="3" name="roles" id="roles">
      <label for="Student">Student</label>

 接收到的表单值

"roles"=>["3"]
 

正确的处理方式:

.html.erb

<% @roles.each do |role| %>
  <%= check_box_tag 'roles[]', role.id%>
  <%= label_tag role.name %>
<% end %>
 

 生成的页面

      <input type="checkbox" value="1" name="roles[]" id="roles_">
      <label for="SuperAdmin">Superadmin</label>
    
      <input type="checkbox" value="2" name="roles[]" id="roles_">
      <label for="Teacher">Teacher</label>
    
      <input type="checkbox" value="3" name="roles[]" id="roles_">
      <label for="Student">Student</label>

 接收到的表单值

"roles"=>["2", "3"]
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics