Вы также можете определить метод 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
В зависимости от вашей цели, вы также можете рассмотреть НЕ обработку исключений для каждого контроллера.Вместо этого используйте что-то вроде гема exception_handler для последовательного управления ответами на исключения.В качестве бонуса этот подход также будет обрабатывать исключения, возникающие на уровне промежуточного программного обеспечения, такие как разбор запросов или ошибки подключения к базе данных, которые ваше приложение не видит.Также может представлять интерес гем exception_notifier .