为什么 Rails 应用的视图是 *.erb.html格式? “ erb”是什么意思?
*.erb.html
Erb 代表“嵌入式 RuBy”。.html.erb或 .erb.html文件是嵌入了 Ruby 代码的 HTML; Rails 将对 Ruby 进行评估以动态地向文件添加内容,并输出一个“纯”HTML 文件以进行呈现。
.html.erb
.erb.html
正如@Chowlett 之前提到的,erb 代表 嵌入式 Ruby。当您将任何文件定义为。这意味着它是一个嵌入了红宝石代码的 HTML 文件,类似于。Rhtml”的扩展名。
您可以看到“ . html.erb”和“ . rhtml”点击这里之间的详细而漂亮的区别
与“ . rhtml”相同,您也可以将“ . rjs”扩展名重命名为“ . js.erb”或者将“ . rxml”扩展名重命名为“ . xml.erb”
这种格式将内容类型从模板引擎中分离出来,在本例中是“ erb”。
ERB 是 Ruby 中的 Class 模板,通常用于 Rails 中的. rhtml 或. ERB.HTML (带有嵌入式 Ruby 的 HTML)中。
下面是关于 Ruby 文档的一个很好的细节。
Http://ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/erb.html
摘自: http://www.stuartellis.eu/article/erb/# template-format rel = “ nofollow”> template-format 包含 ERB 模板的文件可以有任何名称,但约定是文件名应以。Erb 扩展。Rails 要求模板文件具有输出类型的扩展名,后跟。Erb,因此像 layout.HTML.erb 这样的名称表示 HTML 模板。
Erb 文件将只输出文本。仅此而已。什么文本取决于文件内静态文本和 Ruby 代码的组合。您可以使用 erb 生成 html,这是 Rails 中的默认用法,因为这正是浏览器显示页面所需要的。
在 ruby 中有一些默认值,其中一个默认值是控制器将呈现一个 html 页面。但是你可以很容易地让它回应。Xml 或。Json 还是。如果你写一个网络应用程序接口
Erb 是一个生成文本的库类。仅此而已。它期望一个包含静态文本和 Ruby 代码混合的文件。它将运行 ruby 代码并将结果写入另一个文件,对于您的控制器,这个文件是 html
来自 Stuart Ellis 的 < em > 再培训局模板简介 :
ERB (嵌入式 RuBy)是 RuBy 的一个特性,它使您能够方便地从模板生成任意数量的任何类型的文本。模板本身结合了纯文本和 Ruby 代码,用于变量替换和流控制,这使得它们易于编写和维护。 虽然 ERB 最常见的是生成 Web 页面,但它也用于生成 XML 文档、 RSS 提要、源代码和其他形式的结构化文本文件。当您需要创建包含许多标准模式重复的文件(如单元测试套件)时,它可能非常有价值。 ERB 的主要组件是一个库,您可以在 Ruby 应用程序和 Rake 任务中调用它。此库接受任何字符串作为模板,并且不对模板的源施加任何限制。您可以完全在您的代码中定义一个模板,或者将其存储在外部位置并根据需要加载它。这意味着您可以将模板保存在文件、 SQL 数据库或任何其他类型的存储中。 Ruby 发行版还包括一个命令行实用程序,它允许您处理文件中保存的模板,而不需要编写任何其他代码。逻辑上,这个实用程序称为 erb。 ERB 是 Ruby 标准库的一部分,您不需要安装任何其他软件来使用它。
ERB (嵌入式 RuBy)是 RuBy 的一个特性,它使您能够方便地从模板生成任意数量的任何类型的文本。模板本身结合了纯文本和 Ruby 代码,用于变量替换和流控制,这使得它们易于编写和维护。
虽然 ERB 最常见的是生成 Web 页面,但它也用于生成 XML 文档、 RSS 提要、源代码和其他形式的结构化文本文件。当您需要创建包含许多标准模式重复的文件(如单元测试套件)时,它可能非常有价值。
ERB 的主要组件是一个库,您可以在 Ruby 应用程序和 Rake 任务中调用它。此库接受任何字符串作为模板,并且不对模板的源施加任何限制。您可以完全在您的代码中定义一个模板,或者将其存储在外部位置并根据需要加载它。这意味着您可以将模板保存在文件、 SQL 数据库或任何其他类型的存储中。
Ruby 发行版还包括一个命令行实用程序,它允许您处理文件中保存的模板,而不需要编写任何其他代码。逻辑上,这个实用程序称为 erb。
ERB 是 Ruby 标准库的一部分,您不需要安装任何其他软件来使用它。
原文包含了更多的细节和使用 ERB 的简短指南。你也可以阅读 官方文件。
注意: 上面引用的代码块之前被另一个用户作为答案发布,没有链接到 ERB 模板简介或者承认它不是那个用户的工作。那篇文章因剽窃被(正确地)删除了。然而,我认为这是一个 很有用的答案,所以我转发了引文给予适当的归属斯图尔特埃利斯,原作者。
嵌入式 Ruby,也称 ERb,是在网页中包含动态内容的主要模板系统