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 很容易入手,但也非常复杂,因此我建议你阅读文档 。