2010-11-03 26 views
7

Je travaille à l'implantation de CanCan. Pour une raison quelconque, CanCan continue de me donner Accès refusé lorsque j'essaie d'obtenir des détails sur les autorisations de modèle. Et je ne peux pas comprendre pourquoi.CanCan - Accès refusé - Façon de faire CanCan Spécifier dans le LOG Pourquoi?

Existe-t-il un moyen de faire en sorte que CanCan soit spécifique, peut-être dans les journaux ou en développement à propos de la raison pour laquelle l'accès est refusé? quelque chose comme, No Read Ability to XXX Model.

Cela serait utile pour le débogage.

Merci

Répondre

5

Vous pouvez ajouter un bloc rescue_from dans ApplicationController pour gérer les exceptions CanCan et y définir votre message d'erreur personnalisé. Voir le CanCan docs pour une explication détaillée.

1

Vous pouvez ajouter une sortie dans votre modèle de capacité et vérifier après ce qui peut ou ne peut pas votre capacité.

Vous pouvez également ajouter une session de débogage au début de votre classe de compétences.

0

Vous pouvez faire:

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

Plus d'info sur la page d'accueil du projet: