По умолчанию Rails будет отображать 404.html, а затем сочтет уместной ошибку 404. Однако я хочу сделать это на пользовательской странице. Пожалуйста, предложите правильный способ сделать это.
Пользовательское действие 404 в Rails
Ответы (3)
Вы можете использовать исправление обезьяны render_404.
Или вы можете установить маршрут по умолчанию в нижней части файла маршрутов, который ведет к действию, которое возвращает код состояния 404.
В идеале, если вам не нужен пользовательский код в 404, вы можете просто отредактировать статический 404.html, что проще всего.
Этот ответ было на удивление трудно найти.
Если вам нужна статическая страница, отредактируйте 404.html
. Сделанный.
Если вам нужна динамическая страница, то:
в config/routes.rb:
match '*not_found', to: 'errors#error_404' unless Rails.application.config.consider_all_requests_local
Закомментируйте предложение unless
, чтобы проверить страницу 404 на локальном компьютере разработчика.
Сгенерируйте кучу файлов:
rails generate controller errors error_404
Отредактируйте views/errors/error_404.html.erb
для настройки.
Это работает для Rails 3.1 и 3.2.2.
В зависимости от того, что вам нужно, наш гем может помочь: http://github.com/hedgeyedev/snow