Почему рельсы 2.1 не ловят исключения с помощью rescue_from? - PullRequest
0 голосов
/ 07 февраля 2011

в моем ApplicationController, у меня есть

rescue_from StorageExceptions::AuthorizationFailed, :with => handle_auth_error

def handle_auth_error
  redirect_to error_path(403)
end

но код не улавливает эту ошибку. Я проверил, что перехватывается NameError с сообщением: "uncaught throw` StorageExceptions :: AuthorizationFailed '"

Почему это так и как я могу уловить фактическую ошибку?

1 Ответ

0 голосов
/ 07 февраля 2011

У меня были проблемы с работой синтаксиса rescue_from ..., :with => ... в моем приложении Rails (2.3.8) - я решил это с помощью альтернативной формы 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

Я так и не понял, почему первая форма никогда не работала, хотя ...

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...