【问题标题】:Where is Ruby's ERB format "officially" defined?Ruby 的 ERB 格式“正式”定义在哪里?
【发布时间】:2014-01-21 12:14:49
【问题描述】:

许多来源(例如What is the meaning of erb? 和来自this google search 的前四个结果中的三个)引用http://ruby-doc.org/stdlib-1.8.7/libdoc/erb/rdoc/ERB.html 作为 ERB 格式的官方文档,但这实际上只是为您提供 API 而不是文件格式。

我在http://docs.puppetlabs.com/guides/templating.html#erb-template-syntax 中找到了一个不错的小总结,但肯定有更官方的东西,对吧?谁是“定义权威”?这是来自 Rails 的吗?

由于有些人喜欢了解问题背后的动机,我正在寻找关于 ERB 标签不能跨越多行这一相当基本约束的文档,这反过来又是由于最近看到多个 SO 问题而 OP 显然没有意识到这一点约束。

更新:鉴于@sawa 的回答中引用的日本传统,请允许我澄清一下,我对最官方的“英文”版本的文档感兴趣。

【问题讨论】:

  • @iosctr - 我试图为自己澄清这一点。认为这不可能的一个原因是,任何官方(-ish)文档/教程中的示例都没有显示这一点。如果您是 ERB 的新手,并且您的模板中有一个您不理解的错误,那么质疑您的假设是自然(也是明智的)......并寻找官方规范把事情说清楚!

标签: ruby-on-rails ruby erb specifications


【解决方案1】:

erb 是 Masatoshi Seki 作为 eRuby 的 Ruby 实现开发的,因此其规范几乎遵循 eRuby 的规范。作者mentions的一个区别是:

% cat hello.erb
Hello, <% print "World" %>.

% eruby hello.erb
Hello, World.

% erb hello.erb
WorldHello, .

在这种情况下你可以这样做:

% cat hello2.erb
Hello, <%= "World" %>.

% eruby hello2.erb 
Hello, World.

% erb hello2.erb
Hello, World.

让他们以同样的方式工作。

Here是作者的解释,herehere是作者写的文档。

【讨论】:

  • LOL - 字面意思。 +1,我会更新以确认这一点并询问英文翻译或版本。
  • 接受 eRuby 在 Wikipedia 上被可接受的记录的假设。也就是说,我 still 找不到暗示 erb/eruby 标签可以跨行这一事实的 any 文档。所有示例都涉及单行标签,并且没有提及跨行标签。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-03
  • 2011-07-18
  • 1970-01-01
相关资源
最近更新 更多