如何从复选框中获取所选用户的列表

时间:2009-07-01 17:31:31

标签: ruby-on-rails

用户是模特。我有100个用户。

我需要显示所有用户的列表,以便管理员可以检查或取消选中用户,然后对其执行操作。问题是,当提交表单然后在服务器端我得到person_1,person_2,person_3等。处理这些参数可能会有问题。

有没有办法在服务器端获得像

这样的参数 人[1],人[2],人[3]

我想我需要做一些像

这样的事情
check_box :person[],....

我不知道把[]放在哪里。

3 个答案:

答案 0 :(得分:0)

你有没有试过像

这样的东西
check_box_tag "person[]", ...

答案 1 :(得分:0)

我想也许更好的办法就是传递一系列经过检查的人。为此,您希望生成的html看起来像这样:

<input type="checkbox" id="people[]" value="1">
<input type="checkbox" id="people[]" value="2">
<input type="checkbox" id="people[]" value="3">
...

生成的代码可能看起来像这样,使用Rails表单助手:

<% 1.upto(@max_user_id) do |id| %>
     check_box_tag("people[]", id)
<% end %>

处理表单操作的控制器然后可以访问params ['people'],这将是所有被检查的id的数组。

答案 2 :(得分:0)

试试这个。它对我有用。

File.all.each do |file| 
  tmp = "file[#{file.id}]" 
  check_box_tag tmp 
end