Антон Рябов bio photo

Антон Рябов

Не люблю бриться и у меня умный взгляд.

Email Twitter Telegram Github PGP RSS

Рано или поздно вы захотите добавить в ваше Rails приложение страницы которые не создаются динамически, но содержат какую-нибудь маркетинговую или юридическую информацию или даже лендинги которые ведут, например, на вашу главную страницу.

От переводчика: Оригинал статьи

Конечно же вы можете накидать для этого собственные контроллер, маршруты и вьюхи (views). Но есть более простое решение: high_voltage. Этот гем, созданный ребятами из thoughbot, позволяет создавать статические страницы на одном дыхании. Давайте начнем.

Добавим его в Gemfile и создадим новую директорию pages в нашем каталоге с вьюхами (app/views). Затем, создадим новую вьюху внутри каталога pages. Допустим нам нужна страница imprint, так что мы назовем наш файл imprint.html.erb. Если вы используете какой-либо другой язык шаблонизации как slim или haml, просто адаптируйте расширение файла. Осталось только открыть страницу http://localhost:3000/pages/imprin в браузере и вуаля - статическая страница imprint будет показана.

Бонус

Одна вещь, которую вы, скорее всего, захотите изменить это структуруа URL. Таким образом, чтобы ваши статические страницы были доступны по адресу от корня сайта а не через pages. Например в нашем случае чтобы вместо example.com/pages/imprint использовать example.com/imprint. Для этого создайте новый файл в каталоге initializers в корне Rails приложения с именем high_voltage.rb и следующим содержимым:

HighVoltage.configure do |config|
  config.route_drawer = HighVoltage::RouteDrawers::Root
end

После перезапуска rails server страница будет доступна по адресу http://localhost:3000/imprint.

#RubyOnRails #Ruby #Tutorial #TechAndDev