How do I get Haml to work with Rails?

Viewed 55203

I am trying to get Haml to work with my Ruby on Rails project. I am new to Ruby on Rails and I really like it. However, when I attempt to add an aplication.html.haml or index.html.haml for a view, I just receive errors.

I am using NetBeans as my IDE.

10 Answers

The answers above are spot-on. You just need to put gem 'haml' in your Gemfile.

One other tip that was not mentioned: to have rails generators use haml instead of erb, add the following to config/application.rb:

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    

First, install haml as a gem in bundler by adding this to your Gemfile:

gem "haml"

Run bundle install, then make sure your views are named with a *.html.haml extension. For example:

`-- app
    `-- views
        |-- layouts
        |   `-- application.html.haml
        `-- users
            |-- edit.html.haml
            |-- index.html.haml
            |-- new.html.haml
            `-- show.html.haml

Before trying to use haml in your rails application, you can verify that the command line executable is installed correctly:

$ haml
%p 
  %span Hello World!

Then press CTRL-D and you should see:

<p>
  <span>Hello World!</span>
</p>

First, make sure you have the HAML gem.

gem list --local | grep haml

If haml doesn't show up in the list, then do this:

sudo gem install haml

Then do this from your project directory:

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

That should install everything you need, and the HAML views should stop complaining and parse correctly.

make sure to add haml gem into your Gemfile

Related