Как сделать рельсы статическими 404, 500 страниц с ошибками без макета сайта? - PullRequest
17 голосов
/ 21 марта 2012

Я использую rails 3. В производственных rails приятно обрабатывает исключения и загружает мои статические файлы 404.html, 500.html etc из моего публичного каталога.Однако он загружает эти файлы в мой файл layouts / application.html.erb.Я ищу способ поручить рельсам загружать эти файлы БЕЗ использования макета моего приложения - например, просто использовать статический HTML-файл и ничего больше.Каков наилучший способ сделать это?

спасибо!

Ответы [ 2 ]

55 голосов
/ 22 марта 2012

render :file => 'public/404.html', :status => :not_found, :layout => false

1 голос
/ 03 июля 2017

Для продвинутого подхода, работающего в рамках Rails. Обновите файл routes:

get "/404", to: "errors#error_404"
get "/500", to: "errors#error_500"

Добавить ErrorsController с:

layout false

def error_404
  render status: 404
end

def error_500
  render status: 500
end

Затем в app/views/errors/ добавьте файлы error_404.erb и error_500.erb вместе с шикарным изображением и строкой поиска.

Подробнее здесь .

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