Я не согласен с другими ответами, я полагаю, что заголовок должен быть установлен не за действие, а внутри самого представления.Держите логику вида внутри вида, а логику контроллера внутри контроллера.
Внутри вашего application_helper.rb
добавьте:
def title(page_title)
content_for(:title) { page_title }
end
Затем вставьте его в ваш <title>
:
<title><%= content_for?(:title) ? content_for(:title) : "Default Title" %></title>
Поэтому, когда вы находитесь в своих представлениях, у вас есть доступ ко всем переменным экземпляра, установленным из контроллера, и вы можете установить их там.Это также позволяет избежать беспорядка в контроллере.
<%- title "Reading #{@post.name}" %>