批量更改属性,带有复选框和选择框

时间:2013-05-13 18:49:28

标签: ruby-on-rails ruby-on-rails-3

在Users的索引页面上,我的应用程序列出了所有用户的名字(字符串)以及该特定用户是否处于活动状态(布尔值)。在此页面上,我希望能够选择多个用户,使用复选框,然后使用选择框,选择true或false。然后,应用程序应更新已检查到该布尔属性的所有用户。你如何用Rails 3实现这一目标?如有必要,我可以提供一些代码,但我认为没有任何东西可以解释它的自我。感谢。

1 个答案:

答案 0 :(得分:2)

resources :users do
  post 'setup', :on => :collection
end

您的UserController

def setup
  @ids = params[:users][:ids]
  User.where("id IN ? ", @ids).update_all(active: true)
end

在视图中提供@users = User.all并添加以下表单:

=form_tag setup_users_path do
  -@users.each do |user|
    =check_box_tag "users[ids][]", user.id
    =user.name
  =submit_tag "SETUP"

这是我如何做到这一点的粗略概念。我只是在我的机器上没有测试就写下了上面的代码;容易出现一些错误。

希望它有所帮助。 :)