2

我很难理解 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文件夹中的 rails_admin 文件时

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 如何知道当时谁在登录?它是否依赖于我缺少的辅助方法?

4

1 回答 1

4

CanCan 使用一种current_ability方法来提供这种能力,其中它使用current_user. 我知道至少 Devise 有这种方法,其他身份验证框架也必须普遍提供它,不确定。

于 2013-08-23T21:01:12.113 回答