<%= %> 中的单个 % 语法和 #comment 在 .erb 文件中不起作用

发布于 2024-11-01 17:37:33 字数 706 浏览 3 评论 0原文

我刚刚看了一下 http://ruby-doc.org/ruby-1.9 /classes/ERB.html 以及 http://ruby- doc.org/ruby-1.8/classes/ERB.html。我看到 1.8 和 1.9 都支持以下内容。

% a line of Ruby code

但在浏览器的一行中尝试后,

% end ### changed from <% end %>

只是简单地显示 % end...想知道这里有什么问题吗?

(更新)另一个问题,当像#blabla这样的注释出现在<%= %>中时,rails似乎会出错,知道吗?

我的另一个问题的代码:

<%= @page_title || 'Pragmatic Bookshelf' #magic @page_title; a if a is true, else b%>

谢谢

I just took a look at http://ruby-doc.org/ruby-1.9/classes/ERB.html as well as http://ruby-doc.org/ruby-1.8/classes/ERB.html. I saw that the following is supported both in 1.8 and 1.9.

% a line of Ruby code

But after a tried it in a line of

% end ### changed from <% end %>

the browser simply shows % end in plain... Wondering what's the problem here?

(updated) another question, it seem when comment like #blabla appears in <%= %>, rails will get an error, any idea?

my code for another question:

<%= @page_title || 'Pragmatic Bookshelf' #magic @page_title; a if a is true, else b%>

Thanks

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

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

发布评论

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

评论(2

冰火雁神 2024-11-08 17:37:33

这是 ERB 中的注释:

<%# Where is pancakes house? %>

而这是一个错误:

<%= # I'll cook you some eggs, Margie. %>

您不能将注释与 <%= %> 语法结合起来。

在您链接到的文档中,您可能会注意到这里的可选 -- 请参阅 ERB.new 注释:

% a line of Ruby code -- treated as <% line %> (optional -- see ERB.new)

然后,ERB.new 有这样的说法:

如果向 *trim_mode* 传递包含以下一个或多个修饰符的字符串,ERB 将按列出的方式调整其代码生成:

% 启用 Ruby 代码处理以 % 开头的行

因此,您可能没有ERB.new 选项中的 *trim_mode*。

This is a comment in ERB:

<%# Where is pancakes house? %>

whereas this is an error:

<%= # I'll cook you some eggs, Margie. %>

You cannot combine a comment and the <%= %> syntax.

In the documentation you linked to, you might notice the optional -- see ERB.new note in here:

% a line of Ruby code -- treated as <% line %> (optional -- see ERB.new)

And then, ERB.new has this to say:

If *trim_mode* is passed a String containing one or more of the following modifiers, ERB will adjust its code generation as listed:

% enables Ruby code processing for lines beginning with %

So you probably don't have a *trim_mode* in your ERB.new options.

缪败 2024-11-08 17:37:33

如果向 *trim_mode* 传递包含以下一个或多个修饰符的字符串,ERB 将按列出的方式调整其代码生成:

% 启用对以 % 开头的行的 Ruby 代码处理

If *trim_mode* is passed a String containing one or more of the following modifiers, ERB will adjust its code generation as listed:

% enables Ruby code processing for lines beginning with %

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