关于ruby:如何让Haml与Rails合作?

关于ruby:如何让Haml与Rails合作?

How do I get Haml to work with Rails?

我试图让Haml与我的Ruby on Rails项目一起工作。 我是Ruby on Rails的新手,我真的很喜欢。 但是,当我尝试为视图添加aplication.html.hamlindex.html.haml时,我只会收到错误。

我使用NetBeans作为我的IDE。


Haml with Rails 3

对于Rails 3,您要做的就是将gem"haml", '3.0.25'添加到您的Gemfile中。无需安装插件或运行haml --rails .

只是:

1
2
$ cd awesome-rails-3-app.git
$ echo 'gem"haml"' >> Gemfile

这样就完成了。


上面的答案是随处可见的。您只需要在Gemfile中放入gem 'haml'

另一个未提及的提示:要使rails生成器使用haml而不是erb,请在config/application.rb中添加以下内容:

1
2
3
4
5
6
7
config.generators do |g|
  g.template_engine :haml

  # you can also specify a different test framework or ORM here
  # g.test_framework  :rspec
  # g.orm             :mongoid
end


首先,将haml作为gem安装在捆绑器中,方法是将其添加到Gemfile中:

1
gem"haml"

运行bundle install,然后确保您的视图以* .html.haml扩展名命名。例如:

1
2
3
4
5
6
7
8
9
`-- app
    `
-- views
        |-- layouts
        |   `-- application.html.haml
        `
-- users
            |-- edit.html.haml
            |-- index.html.haml
            |-- new.html.haml
            `-- show.html.haml

将haml添加到您的Gemfile中:

1
gem"haml"

如果您也想使用脚手架功能,请在您的开发组中添加haml-rails:

1
gem 'haml-rails', :group => :development

不要忘记运行:

1
$ bundle install

在尝试在Rails应用程序中使用haml之前,您可以验证是否正确安装了命令行可执行文件:

1
2
3
$ haml
%p
  %span Hello World!

然后按CTRL-D,您应该看到:

1
2
3
4
5
<p>

  <span>Hello World!</span>

</p>

首先,请确保您具有HAML gem。

1
gem list --local | grep haml

如果haml没有出现在列表中,请执行以下操作:

1
sudo gem install haml

然后从您的项目目录执行此操作:

1
2
# cd ../
# haml --rails <yourproject>

那应该安装了您需要的所有东西,并且HAML视图应该停止抱怨并正确解析。


这可能是一个老问题,但我认为答案是在https://github.com/indirect/haml-rails使用haml-rails


如果由于某种原因安装了haml,但haml无法启动。尝试

1
sudo ln haml /usr/bin/

在您的haml gem的bin目录中

由于某种原因,这在我的ubuntu 9.04 Jaunty上不会自动发生。


如果您使用的是Pow,则还需要重新启动它。理想情况下,您要使用粉末(宝石安装粉末),因为这样您就可以在终端上运行它了

1
$ powder restart

推荐阅读