在<% %>
(评估Ruby代码),<% -%>
(评估Ruby代码,抑制尾随换行符)和<%- -%>
(评估)时,Rails中建议使用ERb的用途是什么? Ruby代码,抑制尾随换行符和前导空格)?似乎<%- -%>
会使输出HTML看起来最好,但<% %>
似乎主要是我看到的。
答案 0 :(得分:10)
这是个人偏好。我使用&lt; %%&gt;当我写一个循环或一个块时,因为我想要新的线条。我使用&lt;% - %&gt;在极少数情况下变量赋值。我从不使用&lt;% - - %&gt;因为这个选项太多了。
答案 1 :(得分:5)
我刚刚在http://ruby-doc.org/ruby-1.9/classes/ERB.html中读到,您甚至可以为oneliners使用单个百分号(如果该行没有其他内容)
文档示例:
<%# ignore numerous minor requests -- focus on priorities %>
% priorities.each do |priority|
* <%= priority %>
% end
aaaalmost像HAML,不是吗? :)
答案 2 :(得分:0)
我认为结尾的连字符-%>
不再起作用;我在尝试在Ruby 2.6.6中使用它时遇到了一个错误。但是,@ onetom的建议是在整个代码行中仅使用百分比%
,但它不会输出任何内容,并且不会在末尾保留不需要的换行符。
示例:
连字符
line1
<%- sought = 'pattern' -%>
line3
错误消息:
file.erb:1: syntax error, unexpected ';' (SyntaxError)
; - sought = 'pattern' -; _erbout.<< "\n".freeze
没有结尾的连字符:
line1
<%- sought = 'pattern' %>
line3
输出:
line1
line3
仅百分比:
line1
% sought = 'pattern'
line3
输出:
line1
line3