Rails erb中和之间的区别是什么?
两者之间似乎存在差异,虽然我无法确切地知道究竟是什么。
和
<% %>
将评估包含的ruby代码
<%= %>
将评估并呈现包含的代码
所以模板包含:
Hello <% user.name %> how are you?
……会输出:
Hello how are you
…同时…
Hello <%= user.name %> how are you?
……会输出:
Hello fred how are you
<% %>
通常用于迭代器
<% @users.each do |user| %> - <%= user.name %>
<% end %>
<%
和%>
仅评估它们之间的ruby代码,而<%=
和%>
输出评估结果。 不要混淆
这将输出“foo”到访问日志,并输出到浏览器输出
<%= puts "foo" %>
而
<%= "foo" %>
将“foo”字符串输出到浏览器。
<%= %>
将代码语句的返回值输出到浏览器中, <% %>
只执行代码。