【发布时间】:2020-06-16 13:36:19
【问题描述】:
我正在使用 rolify 为用户分配各种角色。像管理员,教授,学生,员工。
我要定义一个条件,我必须指定该特定条件仅对非管理员用户有效。
我知道如何检查用户是否是管理员
u=User.first
u.has_role?(:admin)
但我不知道如何检查用户没有管理员角色?
请帮我解决这个问题。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-5 rolify
我正在使用 rolify 为用户分配各种角色。像管理员,教授,学生,员工。
我要定义一个条件,我必须指定该特定条件仅对非管理员用户有效。
我知道如何检查用户是否是管理员
u=User.first
u.has_role?(:admin)
但我不知道如何检查用户没有管理员角色?
请帮我解决这个问题。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-5 rolify
你可以在用户模型中实现这个方法,这意味着用户有其他角色但没有管理员
def has_not_role?(role)
roles.where.not(name: role).exists?
end
【讨论】:
!has_role?(role) 这样功能保持完全统一?