2015-09-01 1 views
0

Я пытаюсь заставить Marionette визуализировать мои шаблоны JST, работая в среде Rails. Согласно документации, учебника и марионеток официальной я должен переопределить марионетка визуализации методы:Marionette JST шаблон рендеринга

Backbone.Marionette.Renderer.render = (template, data) -> 
path = JST["path/to/template/" + template] 
unless path 
    throw "error" 
path(data) 

И при вызове шаблона с точки зрения:

class myChildView extends Marionette.ItemView 
     template: "specific-template-location/template" 

    class myCompositeView extends Marionette.CompositeView 
     template: "specific-template-location/template" 
     childView: myChildView 

Я получаю Uncaught error при визуализации. Как ни странно, но когда я использовал itemView вместо childView, шаблоны правильно отображались. Учебник, который я использую, уже оказался устаревшим, но я не нашел никакой корреляции между отличиями childView \ itemView и декларацией шаблона в официальной документации. Любые советы будут очень признательны.

Дополнительная информация: Я также не может пройти шаблон непосредственно из DOM (марионеток визуализации переопределение удалены), то есть:

class myCompositeView extends Marionette.CompositeView 
     template: "#mytemplate" 

бросить Также в no template error. Единственный способ, которым мне удалось пройти шаблон, - это создать конструктор шаблонов Underscore - _.template(), что, по крайней мере, указывает на отсутствие проблем с передачей коллекции в представление.

ответ

0

Вы могли бы сделать так:

do (Marionette) -> 
    _.extend Marionette.Renderer, 
    lookups: ['path/to/template/apps', 'path/to/template/components'] 

    render: (template, data) -> 
    return unless template 
    path = @getTemplate(template) 
    throw "Template #{ template } not found!" unless path 
    path(data) 

    getTemplate: (template) -> 
    for lookup in @lookups 
     path = "#{ lookup }/#{ template }" 
     return JST[path] if JST[path] 

I have one example here, using Rails too

+0

О, спасибо гроздь. Я уже решил это, но ваш подход более настраиваемый! Если вы не возражаете, по поводу связанной заметки, как вы можете использовать помощники Rails в своих шаблонах JST? –