对于 Rails 中的 Rolify gem 为了向用户添加角色,您可以执行以下操作:
user = User.find(1)
user.add_role :admin
但是我有一个大型数据库,其中包含没有角色的现有用户。如何使用单个命令向多个用户添加角色?
我尝试了下面的代码片段,但它出错了:
users = User.where(email:['email1','email2'])
users.addrole :admin
有谁知道如何做到这一点?还是需要创建一个脚本来自动循环用户并逐个分配角色?
Rolify 主要只是一个快速而肮脏的角色系统,目前不提供此功能。
您必须将自己的批量插入/更新插入查询写入 Rolify 持久化的数据库表中,例如(users
表的roles
和users_roles
(。