Как-то раз зашла беседа с товарищем из мира yii2 о тайтлах. В yii2 тайтл устанавливается в самом виде. Это в принципе, нормальная практика (как-никак, title тег это часть ВИДА страницы).

В ROR можно сделать подобное, если Вы не очень заморачиваетесь с SEO и интернационализацией. Способ хорош если нужно “быстро, решительно” расставить тайтлы на базе содержимого, но логики проекта в дальнейшем (и пожелания SEO экспертов) Вы не знаете.

Суть проста. Нам поможет метод content_for, какой позволяет вставлять содержимое в yield-блок вьюхи. Такие блоки должны быть именованы, чтобы техника работала.

В мейн-лейауте сделаем:

<title>НашаФирма - <%= content_for?(:title) ? yield(:title) : 'медицинские товары' %></title>

Итак, у нас предварительный кусок статики. Можно спереди, можно сзади его поместить - как хотите. Внутри ERB проверяется предоставлен ли видом (в будущем! когда вид будет задействован) контент для title-области. Если да, выведем его. Если нет - по умолчанию выведем “медицинские товары” - тоже опциональный элемент.

Идем дальше. В ApplicationHelper создадим хелпер для удобства:

module ApplicationHelper
def title(page_title)
content_for(:title) { page_title }
end
end

Хелпер просто поможет сократить код в видах, чтобы постоянно там не писать content_for.

И наконец, в самих видах теперь мы можем указать тайтл явно, например поставив туда заголовок поста:

<% title @post.title %>

Все, “быстрое решение” готово. Но конечно если есть интернационализация, потребуется что-нибудь посложнее, на ваш вкус.