Chef Template:使用嵌套对象生成配置文件

时间:2017-09-11 21:03:11

标签: ruby chef chef-template

我想从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 %>

引用param1param2

的正确方法是什么

1 个答案:

答案 0 :(得分:1)

当你得到这样的数据时,它就是一个普通的Ruby哈希对象。所以你会使用_object["param1"]