当涉及到<% %>
(评估Ruby代码)、<% -%>
(评估Ruby代码,去掉尾随换行符)和<%- -%>
(评估Ruby代码,去掉尾随换行符和前导空格)时,Rails中ERb的推荐用法是什么?看起来<%- -%>
会让输出的超文本标记语言看起来更漂亮,但我看到的主要是<% %>
。
发布于 2010-11-09 08:49:40
这是个人喜好。当我编写循环或块时,我使用<% %>,因为我想在那里换行。我在极少数变量赋值的情况下使用<% -%>。而且我从不使用<%- -%>,因为这是一个太多的选项。
发布于 2010-12-17 10:18:35
我刚刚在http://ruby-doc.org/ruby-1.9/classes/ERB.html上读到,你甚至可以用一个百分号来表示一行(如果该行上没有其他的话)。
文档中的示例:
<%# ignore numerous minor requests -- focus on priorities %>
% priorities.each do |priority|
* <%= priority %>
% end
HAML几乎就像HAML,不是吗?:)
发布于 2020-08-20 08:12:45
我认为结尾的连字符-%>
不再起作用了;我在Ruby2.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
https://stackoverflow.com/questions/4127274
复制相似问题