首页 > 解决方案 > Rolify 在 Rails 中没有特定的角色检查条件

问题描述

我正在使用 rolify 为用户分配各种角色。像管理员,教授,学生,员工。

我要定义一个条件,我必须指定此特定条件仅对非管理员用户有效。

我知道如何检查用户是否是管理员

u=User.first
u.has_role?(:admin)

但我无法弄清楚如何检查用户没有管理员角色?

请帮我解决这个问题。

标签: ruby-on-railsruby-on-rails-5rolify

解决方案


您可以在用户模型中实现此方法,这意味着用户具有其他角色但没有管理员

def has_not_role?(role)
  roles.where.not(name: role).exists?
end

推荐阅读