7

CanCanの実装に取り​​組んでいます。何らかの理由で、モデルのパーミッションについて具体的に取得しようとすると、CanCan は Access Denied を表示し続けます。そして、私はその理由を理解できません。

CanCan を具体的にする方法はありますか (おそらくログまたは開発中に、アクセスが拒否される理由について)。たとえば、XXX モデルへの読み取り機能がありません。

これはデバッグに役立ちます。

ありがとう

4

3 に答える 3

5

ApplicationControllerにブロックを追加して、rescue_fromCanCan例外を処理し、そこにカスタムエラーメッセージを設定できます。詳細な説明については、CanCanのドキュメントを参照してください。

于 2010-11-03T20:49:39.093 に答える
1

能力モデルにいくつかの出力を追加し、能力が失敗した可能性があるかどうかを確認できます。

または、能力クラスの開始時にデバッガー セッションを追加することもできます。

于 2010-11-03T17:06:56.847 に答える
1

できるよ:

# in ApplicationController
rescue_from CanCan::AccessDenied do |exception|
  Rails.logger.debug "Access denied on #{exception.action} #{exception.subject.inspect}"
  # ...
end

プロジェクトのホームページの詳細: https://github.com/ryanb/cancan/wiki/Debugging-Abilities

于 2015-11-10T08:12:16.923 に答える