如何使用cancan和devise添加角色rolify?

Gre*_*ton 5 ruby-on-rails devise cancan rolify

我知道有很多关于这个问题的问题,但没有人真正回答我正在寻找的问题.

我正在尝试使用rolify来定义我在cancan中的角色,我能够通过rails console创建一个管理员角色并为新用户设置默认角色.

我的问题是如何将一批角色设置为不同的值并将这些角色分配给某些用户?

如果您有一个很好的教程来解释这个过程也会有所帮助,那么截屏视频会更受欢迎.

谢谢!

Dan*_*nny 10

你如何创建一批角色?

您可以在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
Run Code Online (Sandbox Code Playgroud)

向某人添加角色就像这样

@user.add_role :admin
Run Code Online (Sandbox Code Playgroud)

您可以检查用户是否具有某个角色

@user.has_role? :admin
Run Code Online (Sandbox Code Playgroud)

而且,正如史蒂夫已经说过的那样,https://github.com/EppO/rolify文档可以让你随时随地!