Как мне вызвать переменную из моего манифеста внутри, а другую переменную в файле template.erb?Переменная шаблона Puppet внутри другой переменной шаблона
Это то, что я пытался сделать:
<%= food[<%= menu %>] %>
Как получить эту работу?
Как мне вызвать переменную из моего манифеста внутри, а другую переменную в файле template.erb?Переменная шаблона Puppet внутри другой переменной шаблона
Это то, что я пытался сделать:
<%= food[<%= menu %>] %>
Как получить эту работу?
Вы просто использовать переменный, как:
<%= food[menu] %>
Вы уже в «Рубине кодового пространства» в рамках расширения ERB, так что вы можете использовать Ruby-код, как обычно.
Ссылаясь на секцию по Accessing Puppet VariablesPuppet 4.5 Embedded Ruby (ERB) template syntax, есть 2 формы переменного доступа:
Из примера в вопрос, недостаточно информации, чтобы точно определить происхождение переменной food
. Этот вопрос предполагает, что это результат обработки переменной манифеста массива или хэша. Если food
является манифест переменного, сам по себе, оно должно быть предваряются @
как таковые:
<%= @food[menu] %>
Если манифест переменной foods
, а переменная food
представляет собой элемент из перечислимы (массив или хэш), его будет использоваться в качестве такового:
<%= @foods.each do |food| %>
<%= @food[menu] %>
<% end %>
Палка с документированными методами доступа к манифесту переменного, и вы можете использовать его в шаблоне так, как вы бы в традиционном коде Ruby.
Да. Тем не менее, для шаблонов предпочтительно обращаться к переменным Puppet через форму '@ var'. –
'<% = food [menu]%>' – marcusshep
Он подразумевает использование хэша, что определенно то, что вы должны делать, учитывая предоставленную информацию. –