Частичное в Coffee HAML (.hamlc) - PullRequest
       32

Частичное в Coffee HAML (.hamlc)

12 голосов
/ 09 февраля 2012

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

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

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

1 Ответ

20 голосов
/ 09 февраля 2012

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

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

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

%p My Partial
%ul
  %li Is included

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

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

Хитрость заключается в том, чтобы отодвинуть отображаемый HTML с помощью !=.

Локальные переменные

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

%h2=@title
%p=@content

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

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