name.html.erb与name.erb之间的区别

时间:2016-01-15 09:07:04

标签: html ruby-on-rails erb

name.html.erbname.erb之间有什么区别? 特别是,为什么name.erb可能不好用?

我理解name.html.erb是约定 - 这表示HTML模板和ERB引擎。但是,如果有任何理由不使用name.html.erb,而是使用name.erb,我无法找到信息。

我的新工作场所要求我使用name.erb,所以我想知道:这可能有任何问题吗?

2 个答案:

答案 0 :(得分:1)

总之,不,不会有任何问题。 Erb文件只输出文本。在许多情况下,阅读应用程序会忽略文件扩展名,因为阅读应用程序会读取/解释包含文本及其语法有效性。正如@taglia建议的那样,文件扩展名大多是一个提示'适合您,也可能被操作系统用来选择默认应用程序来打开文件。请参阅此处以获得更详尽的说明:Output Type for an ERB File

Rails惯例规定模板文件包含输出类型的扩展名,文件名应以 .erb 扩展名结尾。如您所述, name.html.erb 表示HTML模板和ERB扩展,它允许控制器索引操作中的任何实例变量传递到模板中并使用。同样, name.js.erb 表示JavaScript模板。请参阅'约定或模板文件':An Introduction to ERB Templating

答案 1 :(得分:-1)

ERB只是一种模板语言,它不仅限于HTML(您可以拥有name.txt.erbname.js.erb)。从名称中删除html只会让您的生活更加困难(假设它有效),因为除非您打开它,否则您无法知道要处理的文件。