Rails为管理员用户进行大量分配

时间:2012-11-08 22:24:42

标签: ruby-on-rails-3

我正在使用rolify来管理用户角色,当我尝试通过用户表单更新角色时,我会收到:

can't mass-assign protected attributes: role_ids

这很令人欣慰,但我想知道,如何允许管理员通过群发分配更新用户角色但不允许普通用户使用?

1 个答案:

答案 0 :(得分:5)

您可以在attr_accessible模型中使用其他User列表:

attr_accessible :name
attr_accessible :name, :role_ids, :as => :admin

然后在管理员控制器的createupdate操作中:

User.create(params[:user], :as => :admin)

user.update_attributes(params[:user], :as => :admin)