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

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

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

Какие ошибки? У вас установлен плагин HAML?

Otto 19.09.2008 07:22
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
77
1
54 695
10

Ответы 10

Во-первых, установить 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

gregf 22.04.2009 02:56

Почему важно заканчивать на .html.haml, а не только на .haml?

user5243421 27.04.2010 03:39

mathee, это соглашение Rails. name.mime.format (например, show.html.erb, show.xml.builder, show.html.haml)

Ryan McGeary 29.04.2010 16:34

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

gem list --local | grep haml

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

sudo gem install haml

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

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

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

Помните, что для Rails 3 haml --rails больше не нужен. См. Мой ответ для Rails 3 howto.

kch 23.05.2010 19:53

Пожалуйста, избегайте использования sudo при установке драгоценных камней.

David J. 15.06.2012 17:45

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

$ haml
%p 
  %span Hello World!

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

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

хорошо ... это довольно мило.

user1899082 12.04.2013 17:28

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

sudo ln haml /usr/bin/

в каталоге bin вашего драгоценного камня haml

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

Haml с рельсами 3

Для 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 для строительных лесов в качестве опции по умолчанию.

Fa11enAngel 06.11.2012 21:13

а также bundle, я полагаю

Michael Durrant 23.04.2015 15:02

Ответы выше точны. Вам просто нужно вставить 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. Это также позаботится о генераторах.

Felix Rabe 04.01.2012 17:00

это эквивалентно config.generators.template_engine :haml, хотя блок do хорош, если вы хотите настроить несколько генераторов. И, повторюсь, если вы используете gem 'haml-rails', он должен решить эту проблему без необходимости строчки кода в config/application.rb.

Ryan Taylor 24.05.2013 23:52

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

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

gem "haml"

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

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

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

$ bundle install

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

$ powder restart

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

Другие вопросы по теме