Я пытаюсь настроить страницу ошибки на моем веб-сайте.Я следую рекомендациям Блог PerfectLine .
Работает в том случае, если контроллер существует, но идентификатор не существует.Например, у меня есть контроллер блога, а id 4 не существует.Он показывает пользовательскую страницу ошибки
Но она не существует в том случае, когда сам контроллер не существует.Например, если я наберу какой-нибудь случайный контроллер с числовым идентификатором, он не будет перехвачен методами, которые я настроил в контроллере приложения для перенаправления пользовательских страниц ошибок.В этом случае я получаю
ActionController::RoutingError (No route matches "/randomcontrollername"):
в терминале и страницу ошибки по умолчанию, которая идет с рельсами.
application_controller.rb
class ApplicationController < ActionController::Base
protect_from_forgery
unless Rails.application.config.consider_all_requests_local
rescue_from Exception, :with => :render_error
rescue_from ActiveRecord::RecordNotFound, :with => :render_not_found
rescue_from ActionController::RoutingError, :with => :render_not_found
rescue_from ActionController::UnknownController, :with => :render_not_found
rescue_from ActionController::UnknownAction, :with => :render_not_found
end
private
def render_not_found(exception)
render :template => "/error/404.html.erb", :status => 404
end
def render_error(exception)
render :template => "/error/500.html.erb", :status => 500
end
end
Не могли бы вы мне помочь.Спасибо.