También puede definir un método rescue_from.
class ApplicationController < ActionController::Base
rescue_from ActionController::RoutingError, :with => :error_render_method
def error_render_method
respond_to do |type|
type.xml { render :template => "errors/error_404", :status => 404 }
type.all { render :nothing => true, :status => 404 }
end
true
end
end
Dependiendo de cuál sea su objetivo, es posible que también desee considerar NO manejar excepciones por controlador. En su lugar, use algo como la gema exception_handler para administrar las respuestas a las excepciones de manera consistente. Como beneficio adicional, este enfoque también manejará las excepciones que ocurren en la capa de middleware, como el análisis de solicitudes o los errores de conexión de la base de datos que su aplicación no ve. La gema exception_notifier también puede ser de interés.