使用<%=%>而不是< %%>铁轨上的红宝石

时间:2014-06-02 02:12:07

标签: ruby-on-rails

我一直在使用Rails跟踪敏捷Web开发,他们的代码突然从使用<%= %>切换到<% %>

代码示例1:

<%= 1+2 %>

代码示例2:

<% for file in @files %>    
file name is: <%= file %>
<% end %>

我的问题是,对于第二个代码示例,为什么我不能使用<%= %>

谢谢!

1 个答案:

答案 0 :(得分:3)

在ERB(嵌入式ruby)语法中,<%= %>是&#34;执行以下ruby代码的简写,然后打印结果&#34;。所以在第一个例子中,它将打印操作1 + 2,3的结果。

第二个示例显示了一个for循环,它将迭代并打印for声明与其对应的<% end %>之间的内容。

要回答您的问题,表达式for file in @files本身并不会返回任何值得打印的内容,因此无需使用<%= %>,实际上这样做会导致跟踪错误。