我已经实现了自定义错误处理,并使用此行来解决错误:
rescue_from Exception,
:with => :render_error
然而,这也是从CanCan :: AccessDenied中抢救出来的,我怎样才能使这个规则例外来拯救'CanCan :: AccessDenied'并发送到root路径并用自定义方法救出一切':render error'?
答案 0 :(得分:0)
直接从the source,
报价处理程序是继承的。从右到左搜索它们 从下到上,向上层次结构。第一类的处理程序 exception.is_a?(klass)成立的是if调用的if,if 任何
所以,你可以这样做:
rescue_from CanCan::AccessDenied, :with => :your_custom_handler
rescue_from Exception, :with => :render_error
请记住,rescue_from调用的顺序很重要。