0

在我的 RoR 应用程序中,我使用 Role Model 和 CanCan gems。用户没有默认角色。在我为用户分配角色之前,role_mask 为空。我可以分配多个角色。但我无法删除所有角色并将roles_mask 再次设为nil。最后分配的角色仍然存在 我需要删除以前分配的角色,全部!可能吗??

4

1 回答 1

3

如果您想让单个用户角色为零,那么在您的角色中修改操作就像

 user.roles_mask = nil

并保存

如果你想让所有的角色掩码为零,那么你可以通过编写一个 rake 任务来做到这一点。就像是

task :make_roles_nil => :environment do
User.all.each do |user|
user.roles_mask = nil
user.save
end
end

将其放入 lib/tasks 目录中一个名为 user.rake 的文件,然后运行

bundle exec rake user:make_roles_nil RAILS_ENV = YOUR ENVIRONMENT(development or production)
于 2013-04-23T09:24:23.417 回答