rails中 - %>和%>之间的差异

Bre*_*ski 53 ruby-on-rails

我已经开始了一些rails教程,并注意到一些视图代码块就像

<h1><%= @subject.name -%></h1>
Run Code Online (Sandbox Code Playgroud)

和其他代码块一样

<h1><%= @subject.name %></h1>
Run Code Online (Sandbox Code Playgroud)

- %>和%>之间有什么区别

如果你知道一些很好的语法参考,你可以指出我,这也会有所帮助.

zen*_*azn 84

额外的破折号使得ERB不会在结束标记之后输出换行符.你的例子没有区别,但如果你有这样的东西:

<div>
  <% if true -%>
  Hi
  <% end -%>
</div>
Run Code Online (Sandbox Code Playgroud)

它会产生:

<div>
  Hi
</div>
Run Code Online (Sandbox Code Playgroud)

而不是这个:

<div>

  Hi

</div>
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢!我首先找到了一个允许特殊字符的搜索引擎,然后搜索 - %>.这是出现的第一页.我使用http://www.symbolhound.com/(我现在可能会经常使用它,因为在Google上搜索特殊符号是不可能的). (7认同)
  • 确保在独立的ruby脚本中使用ERB将`trim_mode`传递给`ERB.new`,例如`ERB.new('myfile.erb',nil,' - ')`其中`' - '`是`trim_mode`,否则它不会接受破折号 (4认同)

gyl*_*laz 5

我很确定-以前%>不再需要,应该被排除在外.

至少在Chrome中,使用-%>或生成的html看起来相同%>.