【发布时间】:2017-10-05 21:07:31
【问题描述】:
我知道这是一个ruby 的问题,而不是chef,但是...
我有一些属性,例如:
default['my_cookbook']['some_namespace1']['some_attribute1'] = 'some_value1'
default['my_cookbook']['some_namespace1']['some_attribute2'] = 'some_value2'
default['my_cookbook']['some_namespace1']['some_attribute2'] = 'some_value3'
...
default['my_cookbook']['some_namespace2']['some_attribute1'] = 'some_value1'
default['my_cookbook']['some_namespace2']['some_attribute2'] = 'some_value2'
default['my_cookbook']['some_namespace2']['some_attribute2'] = 'some_value3'
...
另一方面,我正在创建这样的模板资源:
template 'template_name' do
source 'template_source.erb'
variables (
my_namespace_1: node['my_cookbook']['some_namespace1'],
my_namespace_2: node['my_cookbook']['some_namespace2']
)
end
然后在template_source.erb我试试:
...
<%= @my_namespace_1['some_attribute1'] %> #=> 'some_value1'
...
但是,当我运行 Kitchen 时,我得到了这个,而不是 'some_value1':
Chef::Mixin::Template::TemplateError
------------------------------------
undefined method `[]' for nil:NilClass
我应该如何发送模板变量以这样使用它?
【问题讨论】:
标签: ruby-on-rails ruby chef-infra