在我的 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 中,我不能简单地调用默认错误处理,因为“without_handler”方法不再存在。
更新 doh
我在搜索了 3 个小时后发布了此内容,但发布后仅 30 分钟,我自己就找到了解决方案。
只需重新提出异常。
由于您处于错误处理中,因此不会对此异常进行进一步处理。