ERb序列末尾的' - %>'(减号)

Alp*_*hus 53 ruby ruby-on-rails

在ERb序列的末尾使用' - '(减号)有什么意义?

例:

<% 3.times do -%>
  FooBar<br />
<% end -%>
Sometext
Run Code Online (Sandbox Code Playgroud)

无论我是否使用" - ",浏览器都会呈现相同的输出.

谢谢,Aplha.

Sim*_*tti 72

在Rails 3之前,ERB在呈现HTML内容时在值之前和之后添加了额外的空格.在HTML空间中并不重要,除非您使用特殊标记,例如<pre>.

使用-符号强制ERB以避免额外的空格.

这在Rails 3中完全没用.

  • 为什么减去语法仍然在文档中?http://api.rubyonrails.org/classes/ActionView/Base.html (3认同)
  • 它看起来留在文档中,所以当有人遇到一些遗留代码并且不认识它时,他们有一些地方可以找到它的含义. (3认同)

noo*_*odl 5

在 erb 标签的开始或结束部分使用减号可以抑制该行标签前后的空白。

它主要在使用 erb 生成文本/普通电子邮件等内容时很有用,但就像@Simone 指出的那样,它现在没有实际意义。