В моем приложении Rails 2.3.8 у меня был код rescue_from для исключений, которые генерируются во время действий javascript:
rescue_from ::Exception, :with => :show_js_errors
...
def show_js_errors exception
if request.format == :js
flash[:error] = 'some error occured'
render :update do |page|
page.redirect_to({:controller => '/home', :action => :index})
end
else
# use default error handling for non-JS requests
rescue_action_without_handler(exception)
end
end
Поэтому мои пользователи получают сообщение об ошибке, если при вызове ajax возникает ошибка,В Rails 3 я не могу просто вызвать обработку ошибок по умолчанию, потому что метод "без_ручки" больше не существует.
update doh
Я опубликовал это после 3 часов поиска, но только через 30 минут после публикации я сам нашел решение.
Просто повторно вызовите исключение.
Поскольку вы находитесь в ошибкеобработка, дальнейшая обработка с этим исключением не производится.