Пользовательское действие 404 в Rails - PullRequest
3 голосов
/ 04 ноября 2010

Rails по умолчанию будет отображать 404.html, тогда он считает ошибку 404 подходящей.Тем не менее, я хочу сделать это на пользовательской странице.Пожалуйста, предложите правильный способ сделать это.

Ответы [ 3 ]

4 голосов
/ 05 октября 2012

Этот ответ был на удивление трудно найти.

Если вам нужна статическая страница, отредактируйте 404.html.Готово.

Если вам нужна динамическая страница, то:

в config / rout.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.

3 голосов
/ 04 ноября 2010

Вы можете использовать render_404. Обезьяны исправления.

Или вы можете установить маршрут по умолчанию в нижней части файла маршрутов, который идет к действию, которое возвращает код состояния 404.

В идеале, если вам не нужен какой-либо специальный код в вашем 404, вы можете просто отредактировать статический 404.html, что проще всего.

0 голосов
/ 03 июня 2011

В зависимости от того, что вам нужно, наш драгоценный камень может помочь: http://github.com/hedgeyedev/snow

...