【发布时间】:2012-10-17 06:03:39
【问题描述】:
我正在尝试编写一些 puppet .erb,如果它是,我想处理这个“环境”变量:
- 未定义
- 带有换行符的字符串
- 一个数组。
我已经做到了:
<% Array(environment).join("\n").split(%r{\n}).each do |f| %>
one line: <%= f %>
<% end %>
但还没有解决未定义的情况。这个我试过了
<% if (defined?(environment)).nil? %?
<% Array(environment).join("\n").split(%r{\n}).each do |f| %>
one line: <%= f %>
<% end %>
<% end %>
但是当尝试像这样测试它时仍然得到“(erb):11: undefined local variable or method `environment' for main:Object (NameError)”:
ruby -rerb -e "environmentUNDEFINEME= [ 'cronvar=cronval', 'var2=val2' ];
puts ERB.new(File.read('templates/job.erb')).result"
抱歉,这太简单了,但总得有人问一些简单的问题。有什么帮助吗?
【问题讨论】: