我很难理解CanCan的工作原理。我有以下型号
class Ability
include CanCan::Ability
def initialize(user)
if user && user.email == "jason@gmail.com"
can :access, :rails_admin # only allow admin users to access Rails Admin
can :dashboard # allow access to dashboard
end
end
end
涉及initializers
文件夹
RailsAdmin.config do |config|
config.authorize_with :cancan
config.main_app_name = ['Pr', 'Admin']
config.current_user_method { } # auto-generated
end
我想让一个用户使用电子邮件“jason@gmail.com”访问管理员信息中心,但CanCan如何知道当前谁登录?它是否依赖于我缺少的辅助方法?
答案 0 :(得分:4)
CanCan使用current_ability
方法提供能力and in that it uses current_user
。我知道至少Devise有这种方法,其他auth框架也必须通常提供它,不确定。