【问题标题】:Understanding CanCan initialize method了解 CanCan 初始化方法
【发布时间】:2013-08-23 18:48:01
【问题描述】:

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

【问题讨论】:

    标签: ruby ruby-on-rails-4 cancan rails-admin


    【解决方案1】:

    CanCan 使用current_ability 方法提供能力,and in that it uses current_user。我知道至少 Devise 有这个方法,其他身份验证框架也必须普遍提供它,不确定。

    【讨论】:

    • 我有一个带有current_user 方法的UserSessionsHelper 模块来处理当前登录的用户。我想我不需要担心其他任何事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-17
    相关资源
    最近更新 更多