CanCanの実装に取り組んでいます。何らかの理由で、モデルのパーミッションについて具体的に取得しようとすると、CanCan は Access Denied を表示し続けます。そして、私はその理由を理解できません。
CanCan を具体的にする方法はありますか (おそらくログまたは開発中に、アクセスが拒否される理由について)。たとえば、XXX モデルへの読み取り機能がありません。
これはデバッグに役立ちます。
ありがとう
CanCanの実装に取り組んでいます。何らかの理由で、モデルのパーミッションについて具体的に取得しようとすると、CanCan は Access Denied を表示し続けます。そして、私はその理由を理解できません。
CanCan を具体的にする方法はありますか (おそらくログまたは開発中に、アクセスが拒否される理由について)。たとえば、XXX モデルへの読み取り機能がありません。
これはデバッグに役立ちます。
ありがとう
ApplicationControllerにブロックを追加して、rescue_fromCanCan例外を処理し、そこにカスタムエラーメッセージを設定できます。詳細な説明については、CanCanのドキュメントを参照してください。
能力モデルにいくつかの出力を追加し、能力が失敗した可能性があるかどうかを確認できます。
または、能力クラスの開始時にデバッガー セッションを追加することもできます。
できるよ:
# 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