Kyl*_*oon 6 ruby ajax ruby-on-rails rjs
我正在使用Ruby on Rails构建的应用程序,现在的错误处理非常糟糕.如果通过ajax执行控制器方法,并且该方法导致500(或404或任何其他响应),则呈现500.html页面并将其作为结果返回给AJAX请求.显然,javascript不知道如何处理该HTML,网页看起来只是在等待响应.
在使用AJAX调用期间发生错误时,rails中是否有一种简单的方法可以呈现error.rjs模板?
您可以在控制器的rescue_action 或rescue_action_in_public 方法中使用respond_to。考虑以下控制器:
class DefaultController < ApplicationController
def index
raise "FAIL"
end
def rescue_action(exception)
respond_to do |format|
format.html { render :text => "Rescued HTML" }
format.js { render :action => "errors" }
end
end
end
Run Code Online (Sandbox Code Playgroud)