引用模板中的变量,从 Puppet Ruby DSL 每次循环加载

引用模板中的变量,从 Puppet Ruby DSL 每次循环加载
hostclass :class do
  items = scope.lookupvar('items_list')
  items.each do |item|
    file("/etc/init.d/#{item}",
         :content => template(['class/item_init.erb']))
  end
end

这个类是用 Ruby DSL 编写的,如何正确引用item模板中的变量?我试过<%= item %>,,<%= @item %><%= scope.lookupvar('item')%>它们都不起作用——它们都返回 nil。

更新型多巴胺

我发现如果在循环内定义$item_name = item它然后像$item_name在模板中一样引用它,它就会起作用。

答案1

我发现如果在循环内部定义 $item_name = item 然后在模板中将其引用为 $item_name,它就会起作用。

相关内容