Rolify 一次分配多个用户角色

Rolify Assign Multiple User Roles at Once

对于 Rails 中的 Rolify gem 要向用户添加角色,您可以执行以下操作:

user = User.find(1)
user.add_role :admin

但我有一个大型数据库,其中包含没有任何角色的现有用户。如何使用单个命令为多个用户添加角色?

我尝试了下面的代码片段,但它出错了:

users = User.where(email:['email1','email2'])
users.addrole :admin

有人知道怎么做吗?或者我是否需要创建一个自动循环用户并一个一个分配角色的脚本?

Rolify 主要是一个快速而肮脏的角色系统,目前不提供此功能。

您必须将自己的批量 insert/upsert 查询写入数据库 table,Rolify 会保留数据,例如(rolesusers_roles 对于 users table)。