Частичное в Coffee HAML (.hamlc)
Я использую backbone.js для рельсового бэкэнда с HAML Coffee, который скомпилирован haml_coffee_assets. В моих шаблонах есть дублирование.
Есть ли способ создать рельсовые партиалы, чтобы высушить мои шаблоны?
Дополнение: Могу ли я сделать content_for(:something)
в кофе ХАМЛ?
1 ответ
Решение
Здесь нет content_for
помощник в Haml Coffee, но вы можете просто визуализировать другой шаблон в шаблоне.
Без локальных переменных
Например, у вас есть шаблон 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)