Как заставить Haml работать с Rails?

Я пытаюсь заставить Haml работать с моим проектом Ruby on Rails. Я новичок в Ruby on Rails, и мне это очень нравится. Однако, когда я пытаюсь добавить aplication.html.haml или index.html.haml для представления, я просто получаю сообщения об ошибках.

Я использую NetBeans в качестве своей IDE.


person Community    schedule 19.09.2008    source источник
comment
Какие ошибки? У вас установлен плагин HAML?   -  person Otto    schedule 19.09.2008


Ответы (10)


Хамл с Rails 3

Для Rails 3 все, что вам нужно сделать, это добавить gem "haml", '3.0.25' к вашему Gemfile. Не нужно устанавливать плагин или запускать haml --rails ..

Просто:

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

И вы сделали.

person kch    schedule 22.05.2010
comment
Добавьте echo 'gem haml-rails, :group =› :development' ›› Gemfile, чтобы использовать haml для создания скаффолдинга по умолчанию. - person Fa11enAngel; 06.11.2012
comment
а также bundle я полагаю - person Michael Durrant; 23.04.2015

Ответы выше точны. Вам просто нужно поместить gem 'haml' в свой Gemfile.

Еще один совет, который не был упомянут: чтобы генераторы рельсов использовали haml вместо erb, добавьте следующее к 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    
person bowsersenior    schedule 17.02.2011
comment
В качестве альтернативы редактированию application.rb вы можете добавить gem 'haml-rails' в группу разработки в Gemfile. Это также позаботится о генераторах. - person Felix Rabe; 04.01.2012
comment
это эквивалентно config.generators.template_engine :haml, хотя блок do удобен, если вы хотите настроить несколько генераторов. И повторюсь, если вы используете gem 'haml-rails', это должно решить эту проблему, не требуя строки кода в config/application.rb. - person Ryan Taylor; 24.05.2013

Во-первых, установите haml как гем в сборщике, добавив это в свой Gemfile:

gem "haml"

Запустите bundle install, затем убедитесь, что ваши представления имеют расширение *.html.haml. Например:

`-- app
    `-- views
        |-- layouts
        |   `-- application.html.haml
        `-- users
            |-- edit.html.haml
            |-- index.html.haml
            |-- new.html.haml
            `-- show.html.haml
person Ryan McGeary    schedule 19.09.2008
comment
Если у вас уже есть шаблоны erb, переименуйте их в .html.haml. В начале файла скажите haml использовать фильтр erb, поместив :erb вверху файла. Затем вы можете медленно конвертировать свои шаблоны. Подробнее о фильтрах, посетив. haml.hamptoncatlin.com/docs/rdoc/classes/Haml.html - person gregf; 22.04.2009
comment
Почему важно заканчивать .html.haml, а не только .haml? - person user5243421; 27.04.2010
comment
Мати, это соглашение Rails. name.mime.format (например, show.html.erb, show.xml.builder, show.html.haml) - person Ryan McGeary; 29.04.2010

Добавьте haml в свой Gemfile:

gem "haml"

Если вы также хотите использовать функции каркаса, добавьте haml-rails в свою группу разработки:

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

Не забудьте запустить:

$ bundle install
person Matthias    schedule 08.05.2012

Прежде чем пытаться использовать haml в своем приложении rails, вы можете убедиться, что исполняемый файл командной строки установлен правильно:

$ haml
%p 
  %span Hello World!

Затем нажмите CTRL-D, и вы должны увидеть:

<p>
  <span>Hello World!</span>
</p>
person gdelfino    schedule 21.04.2009
comment
мило... довольно аккуратно. - person ; 12.04.2013

Во-первых, убедитесь, что у вас есть гем HAML.

gem list --local | grep haml

Если haml не отображается в списке, сделайте следующее:

sudo gem install haml

Затем сделайте это из каталога вашего проекта:

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

Это должно установить все, что вам нужно, и представления HAML должны перестать жаловаться и правильно анализировать.

person Pete    schedule 20.09.2008
comment
Помните, что для Rails 3 haml --rails больше не нужен. См. мой ответ для руководства по Rails 3. - person kch; 23.05.2010
comment
Пожалуйста, избегайте использования sudo при установке драгоценных камней. - person David J.; 15.06.2012

Это может быть старый вопрос, но я думаю, что ответ заключается в использовании haml-rails на https://github.com/indirect/haml-rails

person v4r    schedule 05.05.2012

если по какой-то причине вы установили haml, но haml не запускается. пытаться

sudo ln haml /usr/bin/

в каталоге bin вашего haml gem

по какой-то причине это не произошло автоматически на моем Ubuntu 9.04 Jaunty.

person railsuser1984    schedule 22.10.2009

Если вы используете Pow, вам также потребуется перезапустить его. В идеале вы используете powder (порошок для установки драгоценных камней), потому что тогда вы можете просто запустить это на терминале

$ powder restart
person chris raethke    schedule 09.05.2012

не забудьте добавить haml драгоценный камень в свой Gemfile

person hsul4n    schedule 09.06.2020