Как добавить страницу ошибки 404 в приложение ruby ​​on rails? - PullRequest
0 голосов
/ 20 декабря 2018

Можете ли вы помочь мне в этом.Я хочу добавить страницу ошибки 404 на мой сайт.Я пробовал много способов, но у меня ничего не работает.Вот один из них.

ApplicationController

unless  ActionController::Base.consider_all_requests_local
  rescue_from Exception, :with => :render_404
end

private

  def render_404
    render :template => 'error_pages/404', :layout => false, :status => :not_found
  end

Затем настройте error_pages / 404.html

Кто-нибудь может это исправить?

1 Ответ

0 голосов
/ 20 декабря 2018

Спасение 404 (обычно происходящее из ActiveRecord::RecordNotFound) от вашего контроллера не всегда поможет, потому что есть также ошибки маршрутизации (ActionController::RoutingError)

Чтобы представить исключения для вызовов пользовательских rails config.exceptions_app,который по умолчанию равен ActionDispatch::PublicExceptions.new(Rails.public_path) и просто отображает public/404.html и т. д.

В большинстве случаев достаточно разместить там страницы с ошибками, но если вам абсолютно необходимо отобразить что-то динамическое - вы можете переопределить приложение исключений.

Один из распространенных способов взлома - перенаправить исключения обратно в ваши основные маршруты через config.exceptions_app = self.routes и добавить обычные маршруты для их обработки:

get '/404', to: 'errors#not_found'
get '/422', to: 'errors#unacceptable'
get '/500', to: 'errors#server_error'

Но будьте осторожны, если уже есть исключение, вы можете получитьцикл исключения, поэтому лучше иметь отдельное приложение для обработки ошибок / механизм

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...