我正在尝试写一些木偶.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:未定义的局部变量或方法`environment'for main:Object(NameError)”当试图像这样测试时:
ruby -rerb -e "environmentUNDEFINEME= [ 'cronvar=cronval', 'var2=val2' ];
puts ERB.new(File.read('templates/job.erb')).result"
对不起,这是如此基本,但是有人必须提出简单的问题。有什么帮助吗?
答案 0 :(得分:3)
我会这样做:
<% if defined?(environment) %>
<% Array(environment).each do |f| %>
one line: <%= f %>
<% end %>
<% end %>
我不明白你为什么要加入新行然后再拆分它们,所以我从示例中删除了它。