2

我经常在 Rails 视图中看到这样的事情:

<% form_tag some_path do -%>      
<% end -%>

为什么每行末尾都有一个“-”?没有它我的代码可以正常工作,但这是最佳实践还是某种安全措施?

4

2 回答 2

7

将“-”添加到标记的末尾会删除该行的换行符,以及后面可能出现的任何空白字符。同样,将其添加到开头会删除可能在其前面的任何空白字符。

例如,

Some text.
    <% -%>
More text.

结果是:

Some text.
    More text.   # The linebreak in line 2 was suppressed in the output.
于 2010-04-06T00:56:37.010 回答
0

可以防止输出额外的空格

使用大多数标签,您可以更改 ERB 如何修剪同一行上的空白。基本上,在标签末尾添加“-”字符将防止 ERB 在 HTML 的同一行上的标签后包含任何空格,包括最后的回车符。标记开头的“-”对标记之前的字符执行相同的操作。

于 2010-04-06T00:57:49.333 回答