Частицы в кофе HAML (.hamlc)

Я использую backbone.js на бревне рельсов с HAML Coffee, который скомпилирован haml_coffee_assets. В моих шаблонах есть несколько дубликатов.

Есть ли способ создать рельсовые части, чтобы высушить мои шаблоны?

Дополнение: Могу ли я сделать content_for(:something) в Coffee HAML?

Ответ 1

В Haml Coffee нет помощника content_for, но вы просто можете отобразить еще один шаблон в шаблоне.

Без локальных переменных

Например, у вас есть шаблон test:

%p My Partial
%ul
  %li Is included

Вы можете включить его в другой шаблон следующим образом:

%p Another template
!= JST['test']()
%p That includes a partial

Трюк заключается в том, чтобы unescape отображаемый HTML с !=.

С локальными переменными

Чтобы передать локальные переменные, просто отправьте их в функцию JST. Если это ваш частичный (articles/_comments.jst.hamlc):

%[email protected]
%[email protected]

Тогда это может быть ваш шаблон:

%h1 Comments for this article
- for comment in @article.comments 
  != JST['articles/_comment'](comment)