Ruby on Rails中Haml和Yaml有什么区别?

时间:2017-10-14 13:58:31

标签: ruby-on-rails ruby yaml haml

我是Ruby on Rails开发人员,从过去7个月开始研究这项技术。在处理Rails时,我遇到过yaml个文件。

我遇到yaml(yet another mark-up language)用于存储服务器启动前需要加载的静态内容(如I18n语言翻译),有些用作存储{{1}的开关}值。

最近在一些SO问题中我看到'boolean'在rails中使用,据我所知,两者都是标记语言。这两者之间的区别是什么,以及在使用rails时要优先使用和不使用的内容。

请详细说明:)

2 个答案:

答案 0 :(得分:9)

他们彼此无关。

HAML是半结构化文档的标记语言。它的语义基本上等同于HTML,它的用法域是相同的。此外,HAML也是一种模板语言,它允许在通用编程语言(通常是Ruby)中嵌入任意代码,类似于ERb。

YAML是一种数据语言。它的语义比JSON更高一级(实际上,从YAML 1.2开始,YAML是JSON的正确超集,即每个JSON文档也是YAML 1.2文档)和XML下面的某个地方(作为纯数据语言,不是文档标记语言),但其使用域与这两者相同。

简而言之:HAML是HTML(和ERb)的替代品,YAML是JSON和XML的替代品。

答案 1 :(得分:2)

尽管hamlyaml听起来非常相似,但实际上却非常不同。 yaml用于编写配置文件,而haml用于输出HTML。

相关问题