<%= %>
有人能告诉我erb中的和<% %>
标签有什么区别吗?在哪种情况下我应该使用哪一个?我还可以使用哪些其他标签,它们的含义是什么?
问问题
114 次
3 回答
6
如前所述
<% %>
将 ruby 代码放入内部并对其进行评估
<%= %>
将获取内部的 ruby 代码并对其进行评估并在屏幕上打印结果,这通常意味着将返回可在 html 中作为普通文本使用的可打印结果
这样做
<div class="<% 'myclass' %>">
将导致
<div class="">
并<div class="<%= 'myclass' %>">
会导致
<div class="myclass">
你可以看到这个 railscast 进一步解释它 http://railscasts.com/episodes/100-5-view-tips
此外,您将来可能会遇到这种情况,甚至忘记我写了这个,但无论如何它可能很有用
在某些情况下,并不是每一行 ruby 代码都应该是一行 <% %>。例如 - 使用大小写开关
这不起作用:
<% case my_var %>
<% when 10 %>
<% some ruby code %>
<% end %>
但这会
<% case my_var
when 10 %>
<% some ruby code %>
<% end %>
所以要小心
于 2013-10-26T10:25:04.520 回答
1
<%= %>
当您希望将执行的 ruby 输出到屏幕时使用,这意味着在此块中写入的任何内容都会打印在您的输出屏幕中,
其中 as<% %>
块用于执行您的 ruby 逻辑部分,例如您的if
条件、loop
语句等。
于 2013-10-26T10:04:12.713 回答
1
<% %>
执行括号内的 ruby 代码。
<%= %>
将某些内容打印到 erb 文件中。
于 2013-10-26T10:04:20.440 回答