<分区>
我一直在关注使用 Rails 进行敏捷 Web 开发,他们的代码突然从使用 <%= %>
切换到至 <% %>
.
代码示例 1:
<%= 1+2 %>
代码示例 2:
<% for file in @files %>
file name is: <%= file %>
<% end %>
我的问题是,对于第二个代码示例,为什么我不能使用 <%= %>
?
谢谢!
<分区>
我一直在关注使用 Rails 进行敏捷 Web 开发,他们的代码突然从使用 <%= %>
切换到至 <% %>
.
代码示例 1:
<%= 1+2 %>
代码示例 2:
<% for file in @files %>
file name is: <%= file %>
<% end %>
我的问题是,对于第二个代码示例,为什么我不能使用 <%= %>
?
谢谢!
最佳答案
在 ERB(嵌入式 ruby)语法中,<%= %>
是“执行以下 ruby 代码然后打印结果”的简写。所以在第一个例子中,它会打印操作 1 + 2, 3 的结果。
第二个示例显示了一个 for 循环,它将迭代并打印 for
之间的内容声明及其对应<% end %>
.
要回答您的问题,表达式 for file in @files
本身不返回任何值得打印的东西,所以不需要使用 <%= %>
事实上,这样做会导致难以追踪的错误。
关于ruby-on-rails - 在 Rails 上使用 <%= %> 而不是 <% %> ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23986481/
相关文章:
ruby-on-rails - Rails 4 中的作用域数量
ruby-on-rails - 无法捆绑安装 'open-uri'
ruby-on-rails - 你如何让一个对象观察/订阅自己来观察某个领域?
ruby-on-rails - Rails 3 的这一行有什么作用?
ruby-on-rails - 验证事件连接!在 Rails 4 中已弃用,我们应该如何处理该功能?
ruby-on-rails - rails : Allow user to switch between different views using selection
ruby-on-rails - 使用 mini_magick 调整图像大小