我正在尝试仅在定义index
时创建循环。但它看起来像
erb无法处理if子句中的循环。
<% if(@index) %>
index <% index_files.each do |i| %> <%= i %> <% end %>;
<% end %>
预期结果是:
index index.html index.php
要么
""
我得到的语法错误:
我的平面方法失败了:
<% if(@index_files) %> try_files <% end %> <% index_files.each do |i| %> <%= i %> <% end %>
我将index_files
定义为undef
=&gt;打破了每个循环
我定义了一个空数组=&gt;因为定义了一个空数组,所以它不起作用。
也许我可以查看index_files
的长度?
或者我需要一种完全不同的方法来解决问题吗?
答案 0 :(得分:1)
我也在做同样的事情,它也适用于我,也适用于nginx;)。
例如:<% if @proxy_ignore_headers %> proxy_ignore_headers<% proxy_ignore_headers.each do |i| -%> <%= i %><% end -%>;
这就像魅力一样,与你唯一不同的是对if条件使用(),但我打赌puppet支持()。这很奇怪,也许你已经按下了一个糟糕的组合,产生了一个无法看到的角色,但它正在弄乱你的代码,试着从头开始写以防万一。
祝你好运答案 1 :(得分:-1)
乍一看,你只需要改变
index_files.each
到
@index_files.each