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





Во-первых, установить 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
Если у вас уже есть шаблоны erb, переименуйте их .html.haml. В верхней части файла скажите haml использовать фильтр erb, поместив: erb в начало файла. Затем вы можете постепенно преобразовывать свои шаблоны. Подробнее о фильтрах см. На сайте. haml.hamptoncatlin.com/docs/rdoc/classes/Haml.html
Почему важно заканчивать на .html.haml, а не только на .haml?
mathee, это соглашение Rails. name.mime.format (например, show.html.erb, show.xml.builder, show.html.haml)
Во-первых, убедитесь, что у вас есть драгоценный камень HAML.
gem list --local | grep haml
Если haml не отображается в списке, сделайте следующее:
sudo gem install haml
Затем сделайте это из каталога вашего проекта:
# cd ../
# haml --rails <yourproject>
Это должно установить все, что вам нужно, и представления HAML должны перестать жаловаться и правильно анализировать.
Помните, что для Rails 3 haml --rails больше не нужен. См. Мой ответ для Rails 3 howto.
Пожалуйста, избегайте использования sudo при установке драгоценных камней.
Прежде чем пытаться использовать haml в своем приложении rails, вы можете убедиться, что исполняемый файл командной строки установлен правильно:
$ haml
%p
%span Hello World!
Затем нажмите CTRL-D, и вы должны увидеть:
<p>
<span>Hello World!</span>
</p>
хорошо ... это довольно мило.
если по какой-то причине вы установили haml, но у вас haml не запускается. пытаться
sudo ln haml /usr/bin/
в каталоге bin вашего драгоценного камня haml
по какой-то причине это не произошло автоматически на моем ubuntu 9.04 Jaunty.
Для Rails 3 все, что вам нужно сделать, это добавить gem "haml", '3.0.25' к Gemfile. Не нужно устанавливать плагин или запускать haml --rails ..
Только:
$ cd awesome-rails-3-app.git $ echo 'gem "haml"' >> Gemfile
И вы сделали.
Добавьте echo 'gem "haml-rails",: group =>: development' >> Gemfile, чтобы использовать haml для строительных лесов в качестве опции по умолчанию.
а также bundle, я полагаю
Ответы выше точны. Вам просто нужно вставить 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
В качестве альтернативы редактированию application.rb вы можете добавить gem 'haml-rails' в группу разработки в Gemfile. Это также позаботится о генераторах.
это эквивалентно config.generators.template_engine :haml, хотя блок do хорош, если вы хотите настроить несколько генераторов. И, повторюсь, если вы используете gem 'haml-rails', он должен решить эту проблему без необходимости строчки кода в config/application.rb.
Это может быть старый вопрос, но я думаю, что ответ заключается в использовании haml-rails в https://github.com/indirect/haml-rails
Добавьте haml в свой Gemfile:
gem "haml"
Если вы хотите использовать также и scaffold-functions, добавьте haml-rails в свою группу разработки:
gem 'haml-rails', :group => :development
Не забудьте запустить:
$ bundle install
не забудьте добавить драгоценный камень haml в свой Gemfile
Какие ошибки? У вас установлен плагин HAML?