首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Rails ERb最佳实践(<% %> vs <% -%> vs <%- -%>)

Rails ERb最佳实践(<% %> vs <% -%> vs <%- -%>)
EN

Stack Overflow用户
提问于 2010-11-09 03:29:53
回答 3查看 12.5K关注 0票数 20

当涉及到<% %> (评估Ruby代码)、<% -%> (评估Ruby代码,去掉尾随换行符)和<%- -%> (评估Ruby代码,去掉尾随换行符和前导空格)时,Rails中ERb的推荐用法是什么?看起来<%- -%>会让输出的超文本标记语言看起来更漂亮,但我看到的主要是<% %>

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-09 08:49:40

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

票数 10
EN

Stack Overflow用户

发布于 2010-12-17 10:18:35

我刚刚在http://ruby-doc.org/ruby-1.9/classes/ERB.html上读到,你甚至可以用一个百分号来表示一行(如果该行上没有其他的话)。

文档中的示例:

代码语言:javascript
复制
<%# ignore numerous minor requests -- focus on priorities %>
% priorities.each do |priority|
  * <%= priority %>
% end

HAML几乎就像HAML,不是吗?:)

票数 7
EN

Stack Overflow用户

发布于 2020-08-20 08:12:45

我认为结尾的连字符-%>不再起作用了;我在Ruby2.6.6中尝试使用它时遇到了一个错误。然而,@onetom建议对整行代码只使用百分之一的%,它不会输出任何内容,并且不会将不需要的换行符保留在末尾。

示例:

尾部连字符

代码语言:javascript
复制
line1
<%- sought = 'pattern' -%>
line3

错误消息:

代码语言:javascript
复制
file.erb:1: syntax error, unexpected ';' (SyntaxError)
; - sought = 'pattern' -; _erbout.<< "\n".freeze

无尾部连字符:

代码语言:javascript
复制
line1
<%- sought = 'pattern' %>
line3

输出:

代码语言:javascript
复制
line1

line3

仅百分比:

代码语言:javascript
复制
line1
% sought = 'pattern'
line3

输出:

代码语言:javascript
复制
line1
line3
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4127274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档