20

当涉及到<% %>(评估 Ruby 代码)、<% -%>(评估 Ruby 代码,抑制尾随换行符)和<%- -%>(评估 Ruby 代码,抑制尾随换行符和前导空格)时,在 Rails 中推荐使用 ERb 是什么?似乎<%- -%>会使输出 HTML 看起来最好,但<% %>似乎主要是我所看到的。

4

3 回答 3

10

这是个人喜好。我在编写循环或块时使用 <% %> ,因为我想在那里换行。我在变量赋值的极少数情况下使用 <% -%> 。而且我从不使用 <%- -%> 因为这是一个太多的选项。

于 2010-11-09T00:49:39.673 回答
7

我刚刚在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,不是吗?:)

于 2010-12-17T02:18:34.937 回答
1

我认为尾随连字符不再-%>起作用了。我在 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
于 2020-08-20T00:12:44.530 回答