在我的RoR应用程序中,我使用了角色模型和CanCan宝石。用户没有默认角色。 在将角色分配给用户之前,role_mask为空。我可以分配多个角色。但我无法删除所有角色,并将roles_mask再次设置为nil。分配的最后一个角色仍然存在 我需要删除以前分配的角色,所有这些角色!有可能??
答案 0 :(得分:3)
如果您想将单个用户角色设为nil,那么在您的角色中,修改操作就像
一样 user.roles_mask = nil
并保存
如果你想让所有的角色掩盖为零,那么你可以通过写一个rake任务来做到这一点。
之类的东西task :make_roles_nil => :environment do
User.all.each do |user|
user.roles_mask = nil
user.save
end
end
将一个名为user.rake的文件放入lib / tasks目录 然后运行
bundle exec rake user:make_roles_nil RAILS_ENV = YOUR ENVIRONMENT(development or production)