【发布时间】:2019-06-24 21:10:02
【问题描述】:
class Ability
include CanCan::Ability
user ||= User.new # guest user (not logged in)
if user.admin
can :manage, :all
else
can :read, :all
end
end
我正在使用has_many through 关联。有 3 个表 - 用户、角色和用户角色。 UserRole 表用于连接用户和角色表。在 UserRole 表中,我存储了 user_id 和 role_id。没有名为 admin 的属性。如何更改上述代码以检查用户是否为管理员?
【问题讨论】:
-
你使用 rolify gem 来做角色吗?
-
没有。我用过 gem 'cancancan'
-
@Vasilisa 上面肯定有
rolifygem。 Sneha 在 gemfile 中检查一次是否包含 rolify -
@Sneha,我了解康康康。您是否实现了自己的角色,还是来自 rolify gem?按照 ray 的建议,检查 Gemfile
-
User.instance_methods.map(&:to_s).select { |x| x.match /admin/ }在 rails 控制台中,它提供了什么?
标签: ruby-on-rails