HAML - 在你的视图中使用的另一种方式

HAML(HTML 抽象标记语言)是一种美观而优雅的方式来描述和设计视图的 HTML。HAML 不是打开和关闭标签,而是使用缩进来构建页面结构。基本上,如果某些东西应该放在另一个元素中,你只需使用一个制表位缩进它。标签和空格在 HAML 中很重要,因此请确保始终使用相同数量的标签。

例子:

#myview.html.erb
<h1><%= @the_title %></h1>
<p>This is my form</p>
<%= render "form" %>

在 HAML 中:

#myview.html.haml
%h1= @the_title
%p
    This is my form
= render 'form'

你看,布局的结构比使用 HTML 和 ERB 要清晰得多。

安装

只需使用安装宝石

gem install haml

并将 gem 添加到 Gemfile 中

gem "haml"

要使用 HAML 而不是 HTML / ERB,只需将视图的文件扩展名从 something.html.erb 替换为 something.html.haml

快速的 tipps

像 div 这样的常见元素可以用很短的方式编写

HTML

<div class="myclass">My Text</div>

HAML

%div.myclass

HAML,简写

.myclass

属性

HTML

<p class="myclass" id="myid">My paragraph</p>

HAML

%p{:class => "myclass", :id => "myid"} My paragraph

插入 ruby 代码

你可以使用=和 - 符号插入 ruby 代码。

= link_to "Home", home_path

= 开头的代码将被执行并嵌入到文档中。

- 开头的代码将被执行,但不会插入到文档中。

完整的文档

HAML 很容易入手,但也非常复杂,因此我建议你阅读文档