只有在定义了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,=>打破了each循环,我定义了一个空数组=>,因为定义了一个空数组,所以它不起作用。
也许我可以检查一下index_files的长度?或者我需要一种完全不同的方法来解决这个问题?
发布于 2012-11-02 06:40:42
我正在做同样的事情,它对我也有效,也适用于nginx ;)。
例如:<% if @proxy_ignore_headers %> proxy_ignore_headers<% proxy_ignore_headers.each do |i| -%> <%= i %><% end -%>;
这就像一个咒语,唯一的区别就是对if条件使用(),但我敢打赌puppet support ()。这很奇怪,也许你按了一个错误的组合,生成了一个看不见的字符,但它扰乱了你的代码,试着从头开始写,以防万一。
You can see the full template here
祝好运
发布于 2012-11-01 12:15:25
乍一看,你只需要改变
index_files.each至
@index_files.eachhttps://stackoverflow.com/questions/13170457
复制相似问题