Yit*_*hou 3 checkbox ruby-on-rails ruby-on-rails-3
这是我的代码:
<%=form_tag('/user_group_follows/follow',:id=>'follow_select_form',:remote=>true,:method=>:get) do %>
<p>You want to add this user to?</p>
<%=hidden_field_tag 'user_id',@user.id%>
<%@user.user_groups.each do |ug|%>
<%=check_box_tag 'user_group_id',ug.id,false,{:id=>'user_group_id_'+ug.id.to_s}%><%=ug.name%><br/>
<%end%>
<%end%>
//using jquery-ui, so there is no submit button....
Run Code Online (Sandbox Code Playgroud)
我希望用户做出多项选择,以决定他/她想要添加到以下列表中的哪些组.
所以我制作了几个与'user_group_id'和不同ID同名的复选框.如果用户只选中了一个框,我可以通过参数[:user_group_id]成功获取参数.但如果他真的检查了其中几个,如何在控制器中设置这个值?在这种情况下,params [:user_group_id]只能获得其中一个.我相信代码如:params [:user_group_id_ + XXX.id]不会起作用....
如果你用id来命名它们user_group_id['+ug.id+'],我认为你应该得到params[:user_group_id]一个类似于其中应该包含已检查的所有组ID的数组的参数.
像这样的东西,确实不确定,但基本上你想要命名你的字段,以便它们自然地分组成一个数组,因为它们的命名方式如下:
<%=check_box_tag 'user_group_id['+ug.id']',ug.id,false,{:id=>'user_group_id_'+ug.id.to_s}%><%=ug.name%>
Run Code Online (Sandbox Code Playgroud)
因此,params[:user_group_id].first将包含所选第一个复选框的id.
| 归档时间: |
|
| 查看次数: |
5764 次 |
| 最近记录: |