在我的ApplicationController中,我有
rescue_from StorageExceptions::AuthorizationFailed, :with => handle_auth_error
def handle_auth_error
redirect_to error_path(403)
end
但代码没有捕获此错误。我已经检查了被捕获的是NameError,并带有消息:“uncaught throw`StorageExceptions :: AuthorizationFailed'”
为什么会这样,我怎样才能发现实际错误?
答案 0 :(得分:0)
我无法在我的Rails(2.3.8)应用中使用rescue_from ..., :with => ...
语法 - 我使用替代rescue_from ... do ... end
形式解决了这个问题:
rescue_from(ActionController::InvalidAuthenticityToken) do |e|
#TODO: Flash something?
logger.error "! Invalid authenticity token when accessing #{request.url}"
render(:template => 'sessions/new', :layout => 'pre_login')
end
我从来没有弄清楚为什么第一种形式从未发挥作用,但是......
希望这有帮助!