当涉及到<% %> (评估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 %>
% endHAML几乎就像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
line3https://stackoverflow.com/questions/4127274
复制相似问题