Как я могу изменить заголовки нескольких страниц с помощью контроллера?

У меня есть 4 макета html, как показано ниже. . это, скажем, fix.html.erb

!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example Test</title>
</head>
<body>
<h1>Hello</h1>
</body>
</html>

Теперь я хочу знать, есть ли способ изменить название с помощью контроллеров? Мы можем создать макет приложения и поместить туда общие коды, но тогда этот заголовок будет применяться ко всем страницам.


person Suraj    schedule 01.10.2014    source источник


Ответы (1)


Пытаться:

# Layout (needs to be *.html.erb, not plain .html)

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title><%= yield :title %></title>
  </head>
  <body>
    <%= yield %>
  </body>
</html>

# View

<% provide(:title, 'My title') %>
<h1>Hello</h1>
person BroiSatse    schedule 01.10.2014
comment
Вероятно, вам следует упомянуть, что файл должен быть макетом и называться с помощью erb, т. е. fix.html.erb, а не fix.html. - person Surya; 01.10.2014