我知道这个主题有很多问题,但没有一个真正回答了我的问题。
我正在尝试使用rolify来定义我的cancan角色,我能够通过rails控制台创建管理员角色并为新用户设置默认角色。
我的问题是如何将一批角色设置为不同的值并将这些角色分配给某些用户?
如果您有一个好的教程可以解释这个过程,那将非常有帮助,最好是视频教程。
谢谢!
我知道这个主题有很多问题,但没有一个真正回答了我的问题。
我正在尝试使用rolify来定义我的cancan角色,我能够通过rails控制台创建管理员角色并为新用户设置默认角色。
我的问题是如何将一批角色设置为不同的值并将这些角色分配给某些用户?
如果您有一个好的教程可以解释这个过程,那将非常有帮助,最好是视频教程。
谢谢!
如何创建一批角色?
在你的 db/seeds.rb 文件中可以实现,每次运行 rake db:seed 命令时都会执行。
[:admin, :author, :contact, :user].each do |role|
Role.find_or_create_by_name({ name: role }, without_protection: true)
end
给某人添加角色的方法如下:
@user.add_role :admin
您可以使用以下代码检查用户是否具有特定角色:
@user.has_role? :admin
正如Steve已经说过的那样,https://github.com/EppO/rolify的文档应该可以帮助你入门!
[:admin, :author, :contact, :user].each do |role|
Role.where({ name: role }, without_protection: true).first_or_create
end
使用Rails 4,这似乎符合您的要求!这是基于这个答案above。
add_role
。你不需要做任何事情来创建角色,只需将它们分配给某些内容即可。因此,如果Jane在全局范围内是管理员,而Joe是一个小兵,你可以这样使用:User.where(name: 'Joe').add_role :peon
User.where(name: 'Jane').add_role :admin