Я пытаюсь добавить фрагмент в свой основной шаблон (руль) с помощью jquery
var appendToDiv = function(data){
return `
<div class='some class'>
{{{formatDate ${data.created_at} 'MMM DD YYYY'}}}
</div>
`
}
где formatDate - помощник руля.
$('#content').append(appendToDiv(data))
проблема здесь в том, что помощник по рулю не компилируется. надеюсь, вопрос достаточно ясен. любая помощь будет принята с благодарностью. заранее спасибо
Вы используете руль спереди или сзади?
рули в интерфейсе
@Artem, функция должна возвращать строку, которую я могу добавить в div в шаблоне. <div class='someclass'>May 02 2018 </div>
@lacasera да, я понимаю. Но вызывает ли он шаблонизатор руля?
@Artem нет, как я могу это сделать в jQuery?
@lacasera после получения строки и перед ее вставкой в DOM вам нужно вызвать шаблонизатор, например Handlebars.compile(string)(context);. Так же, как это был обычный метод рендеринга HTML на сервере.

Вот как я, наконец, решил это сделать.
в основном файле шаблона, index.handlebars, я создал партиал вроде этого
<div id='content'></div>
<script id = "template" type = "text/x-handlebars-template">
<div class = "someclass">
{{formatDate mydate 'MM DD YYYY'}}
</div>
</script>
в файле js,
var template = document.getElementById('template')
var view = Handlebars.compile(template)
var templateToDisplay = view(mydate)
$('#content').append(templateToDisplay)
Надеюсь, кто-то еще сочтет это полезным.
Вы имеете в виду, что функция возвращает усы в виде текста? Вам определенно нужно вызвать механизм шаблонов перед добавлением html-текста.