为什么很多人在Rails中使用“ – %>”而不是“%>”?

对不起这个问题,我认为它更具有offtopic,但我在谷歌上找不到任何东西!

我现在多次看到很多人使用-%>而不仅仅是%> 。 什么意思?

例:

    

来源: Rails每6个项目的每个循环插入标记?

在这里,他还使用-%>表示所有块。

我想添加一些我了解ERB的资源:

  • Rails扩展了ERB ,因此您只需在Rails模板中向标记添加尾部连字符即可抑制换行

     
      <% for @item in @items -%>
    • <%= @item %>
    • <% end -%>
  • 注释标记使用hash符号:

      <%# This is just a comment %> 
  • 带有equals sign表示封闭的代码是表达式,并且渲染器在呈现模板时应该使用代码的结果(作为字符串)替换代码元素。 使用表达式将一行代码嵌入到模板中,或显示变量的内容:

      Hello, <%= @name %>. Today is <%= Time.now.strftime('%A') %>. 
  • 使用一个equal sign ,字符串将被编码。 为避免编码,您可以使用两个equals signs (或原始 ):

      Hello, <%== @unencodedOutput %> 
  • 没有equals标签表示附带的代码是一个scriptlet 。 捕获并执行每个scriptlet,然后将代码的最终结果注入scriptlet点的输出。

     
      <% for @item in @shopping_list %>
    • <%= @item %>
    • <% end %>

    Scriptlet最常用于将循环或条件逻辑嵌入到模板中:

阅读ERB Templating简介了解更多信息。