Шаблон Chef: использование вложенного объекта для создания файла конфигурации
Я хотел бы создать файл конфигурации из Chef
шаблон. Каков правильный синтаксис для достижения этого в Chef 13+
У меня есть база данных со следующими подразделами:
"mykey1" : {
"param1" : "mysubvalue1",
"param2" : "mysubvalue2"
},
"mykey2" : {
"param1" : "mysubvalue11",
"param2" : "mysubvalue22"
},
Затем в своем рецепте я использую ресурс шаблона:
template 'mytemplate.erb'
...
variables ({
:keys => [mykey1, mykey2]
})
end
Тогда в шаблоне:
<% @keys.each_pair do |name, _object| %>
["#{name}"]
param1 = "#{_object.param1}" # will this work??
<% end %>
Как правильно ссылаться на param1
а также param2
2 ответа
К тому времени, когда вы получаете такие данные, это обычный хэш-объект Ruby. Так что вы бы использовать _object["param1"]
,
Приедете сюда спустя годы? Попробуй это:
<% @keys.each_pair do |name, _object| %>
["#{name}"]
<% _object.each do |param, sub| -%>
<%= param %> = "<%= sub %>"
<% end # _object.each -%>
<% end # keys.each -%>
дайте мне знать, как идут дела.