Как вызвать `<%= partial '...' %>`

Делаю статику на html5. У меня есть много строк HTML одного типа:

<meta name = "keywords" content = "any keywords" />
<meta name = "description" content = "any description" />

На сайте много страниц, и редактирование этих строк занимает много времени для каждого отдельного файла *.erb.

Я хотел узнать, как вызвать нужную строку из одного файла * .erb. Если я использую <%= partial '...' %> в этом случае, будет вызван весь файл. Подскажите если есть возможность звонить только те линии которые нужны. Я не знаю, как вызывать любые строчные части файла из одного файла *.erb с помощью middleman3. Возможно есть метод вызова из файла - строки по номерам, или любой метод.

===

так как я новичок может я не понимаю Является ли это возможным? посмотрите на картинку

🤔 А знаете ли вы, что...
Ruby обладает сильной системой типов, но при этом переменные не требуют объявления типов.


136
1

Ответ:

Создайте новый файл, например, "views/_partial.html.erb"; Имя файла должно начинаться с подчеркивания. Поместите свой HTML-контент в этот файл, который выглядит следующим образом:

<meta name = "keywords" content = "any keywords" />
<meta name = "description" content = "any description" />

Теперь из представления, из которого вы хотите вызвать партиал, используйте следующий код:

<%= render :partial => 'views/partial' %>

Примечание: при вызове партиала вы должны исключить подчеркивание.

Редактировать Метод 2

Файл: _partial.html.erb

<% if page == 1 %>
  <meta name = "keywords" content = "any keywords" />
  <meta name = "description" content = "any description" />
<% elsif page == 2 %>
  <meta name = "keywords" content = "any keywords" />
  <meta name = "description" content = "any description" />
<% end %>

Код для вызова частичного

<%= render partial: 'partial', locals:  {page: 1} %>
<%= render partial: 'partial', locals:  {page: 2} %>