什么时候使用<% - %>而不是<%%>

HB.*_*HB. 4 ruby-on-rails view-templates

我注意到在某些rails视图行中,使用了以下内容:

<% # Code... -%> 
Run Code Online (Sandbox Code Playgroud)

代替:

<% # Code... %>
Run Code Online (Sandbox Code Playgroud)

有什么不同?

dyl*_*nfm 17

    <ul>
    <% @posts.each do |post| -%> 
      <li><%=post.title%></li>
    <% end -%>
    </ul>
Run Code Online (Sandbox Code Playgroud)

会有在之间没有新的生产线<ul>和第一<li>和最后一个收盘</li></ul>.如果 - 被省略,那就有了.


Chr*_*oyd 8

在ERB中评估代码的不同选项如下(可以使用Ctrl-Shift-在Textmate中访问它们):

  • <% %> 只评估内容.
  • <%= %> 评估内容并输出结果.
  • <%= -%> 评估内容并打印结果.
  • <%# %> 内容被视为注释而不输出.

注意之间的差异putsprint.Puts总是在字符串的末尾添加一个新行,而print不是.

基本上,-%>说不要在最后输出新的一行.