我经常在rails视图中看到类似的内容:
<% form_tag some_path do -%>
<% end -%>
为什么每条线的末尾都有“ - ”?没有它我的代码工作正常,但它是最佳实践还是某种安全措施?
答案 0 :(得分:7)
在标记的末尾添加“ - ”会删除该行的换行符以及可能跟随的任何空格字符。同样,将它添加到开头会删除可能在它之前的任何空白字符。
例如,
Some text.
<% -%>
More text.
结果:
Some text.
More text. # The linebreak in line 2 was suppressed in the output.
答案 1 :(得分:0)
prevents extra whitespace from being output:
对于大多数标签,您可以更改ERB修剪同一行上的空白区域的方式。基本上,在标记的末尾添加“ - ”字符将阻止ERB在与HTML相同的行上的标记之后包括任何空格,包括最终的回车。标签开头的“ - ”对标签前的字符执行相同的操作。