Включение/импорт файлов HAML с помощью grunt-contrib-haml и Yeoman

В настоящее время я использую Yeoman с HAML (используя grunt-contrib-haml) и хотел бы включить файлы HAML, чтобы сделать вещи более сухими.

Я не очень хорошо знаком с HAML, поэтому, почитав в Интернете, лучше всего использовать =render, например:

=render(partial="shared/ga")

однако я получаю сообщение о том, что в HAML отсутствует встроенная функция render():

Warning: Exception on line 75: undefined method `render' for #<Object:0x00000003474a98>

Есть ли простой способ включить файлы HAML из другого файла HAML, который будет работать с Yeoman/grunt-contrib-haml? и/или расширить существующий шаблон HAML, чтобы сделать его более СУХИМ?


person Metalshark    schedule 25.10.2013    source источник
comment
Вы нашли решение этой проблемы? У меня такая же проблема.   -  person Zach Wolf    schedule 18.01.2014
comment
В конце концов переключился на Jade (что делает это тривиальным) и не оглядывался назад.   -  person Metalshark    schedule 24.01.2014
comment
render — это функция Rails, а не HAML. См.: stackoverflow. ком/вопросы/6125265/   -  person jhchen    schedule 05.03.2014


Ответы (1)


Я была такая же проблема. Я обнаружил, что самый простой подход к этой проблеме — использовать js для импорта файлов вместо метода haml. Я использую Angular.js, поэтому я могу использовать его импорт и пропускать HAML.

В шаблоне HAML вы пишете что-то вроде этого (для Angular):

%div#publish{ng-include: 'views.someview', ng-controller: 'SomeCtrl'}

Работает как шарм.

person clopez    schedule 10.03.2014