为什么许多人在Rails中使用"-%>"而不是"%>"?

15 浏览
0 Comments

为什么许多人在Rails中使用"-%>"而不是"%>"?

这个问题已经有答案了

在Rails的ERB中,<%<%=<%#-%>有什么区别?

抱歉这个问题有些离题,但我在谷歌上没有找到任何答案!

我已经多次看到很多人使用-%>而不是%>。这有什么意义吗?

例如:

<% @images.each_slice(6) do |slice| -%>
    <% slice.each do |image| -%>
      <%= image_tag(image.url, :alt => image.alt) %>
    <% end -%>
<% end -%>

来源:Rails每个循环插入标签的问题?

这里他对所有块使用了-%>

admin 更改状态以发布 2023年5月21日
0
0 Comments

我想添加我了解的关于 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 模板介绍 了解更多信息。

0