属性
default['app_metadata']['metadata'] = {}
作用
"app_metadata": {
"metadata": {
"oes_m1": {
"app.instance": "oes_m1_instance",
"app.appname": "oes"
".."
},
"oes_m2": {
"app.instance": "oes_m2_instance",
"app.appname": "oes"
"xx"
".."
}
}
}
配方
node['app_metadata']['metadata'].each do |instance_name, content|
template "#{node['app_metadata']['home']}/#{node['hostname']}.app.#{instance_name}.metadata" do
source 'app_metadata.erb'
owner node['app_metadata']['user']
group node['app_metadata']['group']
mode '0755'
variables(
content_erb: content
)
action :create
end
end
模板
<% (@content_erb).each do |key, value| -%>
<%= key %>: <%= value %>
<% end -%>
我一直在将变量传递给模板时遇到错误。有谁知道如何改善这个?
期待结果
app.oes_m1.metadata文件
app.instance: oes_m1
app.appname: oes
..
app.oes_m2.metadata文件
app.instance: oes_m2
app.appname: oes
xx
..
如果有更多实例
key: value
..
答案 0 :(得分:0)
您的模板看起来有问题。尝试将其更新到此
<% @content_erb.each do |key, value| %>
<%= key %>: <%= value %>
<% end %>