我正在努力实施 CanCan。出于某种原因,当我尝试获取有关模型权限的具体信息时,CanCan 不断给我拒绝访问。我不知道为什么。
有没有办法让 CanCan 变得具体,也许在日志或开发中关于为什么访问被拒绝?类似,没有读取能力到 XXX 模型。
这将有助于调试。
谢谢
我正在努力实施 CanCan。出于某种原因,当我尝试获取有关模型权限的具体信息时,CanCan 不断给我拒绝访问。我不知道为什么。
有没有办法让 CanCan 变得具体,也许在日志或开发中关于为什么访问被拒绝?类似,没有读取能力到 XXX 模型。
这将有助于调试。
谢谢
您可以在 ApplicationController 中添加一个rescue_from
块来处理 CanCan 异常并在那里设置您的自定义错误消息。有关详细说明,请参阅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