为什么许多人在Rails中使用"-%>"而不是"%>"?
为什么许多人在Rails中使用"-%>"而不是"%>"?
这个问题已经有答案了:
抱歉这个问题有些离题,但我在谷歌上没有找到任何答案!
我已经多次看到很多人使用-%>
而不是%>
。这有什么意义吗?
例如:
<% @images.each_slice(6) do |slice| -%> <% slice.each do |image| -%> <%= image_tag(image.url, :alt => image.alt) %> <% end -%> <% end -%>
这里他对所有块使用了-%>
。
admin 更改状态以发布 2023年5月21日
我想添加我了解的关于 ERB 的一些资源:
-
Rails 扩展了
ERB
,因此您只需在 Rails 模板中添加尾随连字符即可抑制换行:-
<% for @item in @items -%>
- <%= @item %> <% end -%>
-
注释标记使用
hash
符号:<%# This is just a comment %>
-
带有
等号
符号的标记表示封闭的代码是表达式,渲染器应当在渲染模板时以代码元素的结果(作为字符串)替换该代码。使用表达式嵌入模板行代码或显示变量的内容:Hello, <%= @name %>. Today is <%= Time.now.strftime('%A') %>.
-
带有一个
等号
符号的字符串将被编码。为避免编码,您可以使用两个等号
符号(或 raw):Hello, <%== @unencodedOutput %>
-
没有
等于
符号的标记表示封闭的代码是一个脚本。每个脚本都将被捕获和执行,代码的最终结果将被注入到脚本的位置成为输出。-
<% for @item in @shopping_list %>
- <%= @item %> <% end %>
脚本最常用于将循环或条件逻辑嵌入模板中:
阅读 ERB 模板介绍 了解更多信息。