Мультиблог на Ruby on Rails. Создание статических страниц. Формирование ссылок на основе маршрутов. Урок 6.

У нас в шаблоне предусмотрено место для страницы About, вот на её примере и будет продемонстрировано как работать со статическими страницами. Для этих целей, с помощью консоли,сгенерируем контролер Pages:

rails g controller Pages

При этом будет создан в том числе и файл контролера, который останется дополнить методом about:

class PagesController < ApplicationController

  def about
  end

end

Да, метод у нас пустой, так как мы просто будем выводить текст в самом шаблоне. Соответственно, подгружаться у нас будет view файл по пути app/views/pages/about.html.erb И всё что нам остаётся, это переопределить некоторые секции и наполнить фай содержимым, которое возьмём прямиком из вёрстки:

<% content_for :h1 do %>
О компании
<% end %>

<% content_for :title do %>
О компании
<% end %>

<div class="row">
  <div class="col-lg-8 col-md-10 mx-auto">
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Saepe nostrum ullam eveniet pariatur voluptates odit, fuga atque ea nobis sit soluta odio, adipisci quas excepturi maxime quae totam ducimus consectetur?</p><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eius praesentium recusandae illo eaque architecto error, repellendus iusto reprehenderit, doloribus, minus sunt. Numquam at quae voluptatum in officia voluptas voluptatibus, minus!</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aut consequuntur magnam, excepturi aliquid ex itaque esse est vero natus quae optio aperiam soluta voluptatibus corporis atque iste neque sit tempora!</p>
  </div>
</div>

Теперь, чтобы это всё заработало, необходимо прописать маршрут:

get 'about', to: 'pages#about', as: 'about'

Как итог, у нас по адресу http://127.0.0.1:3000/about, будет подгружаться метод (action) about контроллера pages. Здесь мы также, третьим аргументом передали псевдоним ссылки "about", он нам пригодится при построении ссылки. 

Формирование ссылки на основе псевдонима маршрута. 

Здесь всё просто. Поскольку у нас есть псевдоним about, то для того чтобы построить ссылку, достаточно передать его в качестве аргумента к методу route_for. В итоге ссылка будет выглядеть так:

<a class="nav-link" href="<%= route_for(:about) %>">About</a>

А ещё у нас в шаблоне есть ссылка на Sample Post, но поскольку она являет собой заглушку, то мы её просто можем удалить. Все изменения данного урока как всегда в репозитории.