check_box_tag
我有一个用( <%= check_box_tag "user_ids[]", user.id %>
)创建的复选框列表。现在我想遍历控制器中基于 users_ids 的所有复选框并插入所有选定用户的数据。
问问题
1104 次
1 回答
2
正如 Meltemi 所说,在 ruby 中迭代的常用方法是.each
. 在您的情况下,在接收表单的控制器中可能是这样的:
params[:user_ids].each do |user_id|
u = User.find(user_id)
u.do_something_to_that_user #call a method or some such on the user
something_else.users << u #associate that user with something else
end
或者,一次完成所有这些通常会更有效,尽管其确切形式取决于您对用户所做的事情。例如,如果您想将选中的用户与某些记录相关联:
Record.user_ids = params[:user_ids]
或者,如果您想以某种方式更新所有这些用户:
User.where(:id => params[:user_id]).update_all(:attribute => some_value)
于 2012-10-16T15:52:39.530 回答