Мультиблог на Ruby on Rails. Реализация 404 страницы. Урок 13.
В серии данных уроков основной задачей было разработать мультиблог и тем самым дать вам основу для дальнейшей работы в Ruby on Rails. Считаю что данная цель была достигнута: все страницы шаблона были реализованы и даже сверх того. Поэтому данный урок будет заключительным, а в качестве завершающего штриха, мы рассмотрим создание 404 страницы.
Страница 404
Здесь надо понимать, что данную страницу имеет смысл реализовывать только тогда, когда сайт работает в боевом (производственном) режиме. На локальном сервере заниматься этим смысла особо нет, потому что нам наоборот, удобно увидеть отладочную информацию и тем самым определить причину, по которой страница не нашлась.
Но если по какой-то причине, вам нужно всё-таки посмотреть как будет выглядеть 404 страница в локальном режиме, то необходимо проделать несколько действий:
- В файле config/environments/development.rb установить настройку config.consider_all_requests_local в значение false.
-
В файле config/application.rb добавить строчку:
config.exceptions_app = self.routes
- Удалить файл по следующему пути: public/404.html
Ну а далее мы уже работаем по стандартной схеме. Прописываем в файл роутинга маршрут, указывая контролер, который будет обслуживать 404 страницу:
get '/404', to: "errors#not_found"
Соответственно создаём контролер errors_controller (app/controllers/errors_controller.rb) со следующим содержимым:
class ErrorsController < ApplicationController def not_found respond_to do |format| format.html { render status: 404 } end end end
Сам шаблон (app/views/errors/not_found.html.erb) для страницы 404 будет максимально простым:
<div style="text-align: center;"> <font size="24">404 ошибка</font> </div>
И на этом, данную серию уроков можно считать законченной, надеюсь она была вам полезной!