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"]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值