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」で管理者ダッシュボードにアクセスできるユーザーを1人にしたいのですが、CanCanはその時点で誰が現在サインインしているかをどのように知るのですか? 私が見逃しているヘルパーメソッドに依存していますか?

4

1 に答える 1

4

CanCan はcurrent_abilityメソッドを使用して能力を提供し、その中で を使用しますcurrent_user。少なくともDeviseにはこのメソッドがあることは知っていますが、他の認証フレームワークも通常それを提供する必要がありますが、よくわかりません。

于 2013-08-23T21:01:12.113 に答える