我在 ERB 模板中有以下代码:
<% ['foo', 'bar'].each do |var| %>
<%= previous %>
<% previous = "#{var}" %>
<% end %>
我希望它输出foo
,但它什么也不输出,previous
总是nil
。previous
没有在循环之外定义,第一个赋值发生在第一个循环结束之后。
这就是我渲染模板的方式:
f.write ERB.new(File.read(node)).result(namespace.instance_eval { binding })
我究竟做错了什么?