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

发布于 2024-10-01 09:13:29 字数 258 浏览 3 评论 0原文

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

What is the recommended use of ERb in Rails when it comes to <% %> (evaluate Ruby code), <% -%> (evaluate Ruby code, suppress the trailing newline) and <%- -%> (evaluate Ruby code, suppress the trailing newline and leading space)? It seems like <%- -%> would make the output HTML look nicest, but <% %> seems to be mostly what I see.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

萧瑟寒风 2024-10-08 09:13:29

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

It's a personal preference. I use <% %> when I'm writing a loop or a block, because I want new lines there. I use <% -%> in rare cases of variable assignment. And I never use <%- -%> because that's one option too many.

不美如何 2024-10-08 09:13:29

我刚刚阅读 http://ruby-doc.org/ruby-1.9/classes /ERB.html ,您甚至可以使用单个百分号表示单行(如果该行上没有其他内容)

文档中的示例:

<%# ignore numerous minor requests -- focus on priorities %>
% priorities.each do |priority|
  * <%= priority %>
% end

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

I just read in http://ruby-doc.org/ruby-1.9/classes/ERB.html that you can even use a single percent sign for oneliners (if there is nothing else on that line)

Example from the docs:

<%# ignore numerous minor requests -- focus on priorities %>
% priorities.each do |priority|
  * <%= priority %>
% end

aaaalmost like HAML, isn't it? :)

满意归宿 2024-10-08 09:13:29

我认为尾随连字符 -%> 不再有效;我刚刚尝试在 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

I don't think the trailing hyphen -%> works any more; I just got an error trying to use it in Ruby 2.6.6. However, @onetom's suggestion of using just a percent % for an entire line of code works, it outputs nothing, and doesn't keep the unwanted newline at the end.

Examples:


Trailing hyphen

line1
<%- sought = 'pattern' -%>
line3

Error message:

file.erb:1: syntax error, unexpected ';' (SyntaxError)
; - sought = 'pattern' -; _erbout.<< "\n".freeze

No trailing hyphen:

line1
<%- sought = 'pattern' %>
line3

Output:

line1

line3

Percent only:

line1
% sought = 'pattern'
line3

Output:

line1
line3
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文