Elegir dinámicamente una vista en tiempo de ejecución con Ember + Handlebars

Estoy usando Ember, Ember Data y Handlebars para mostrar una línea de tiempo con varios tipos diferentes de modelos. Mi implementación actual, aunque funciona correctamente, parece que podría mejorarse drásticamente con una convención y un asistente. Sin embargo, no puedo entender cómo usar plantillas ya definidas.

Esto es lo que tengo

{{#view App.AccountSelectedView contentBinding="App.selectedAccountController.everythingSorted"}}
  {{#with content}}
    <ol class="timeline">
      {{#each this}}
        {{#is constructor="App.Design"}}
        ... stuff about the design
        {{/is}}
        {{#is constructor="App.Order"}}
        ... stuff about the order
        {{/is}}
        {{#is constructor="App.Message"}}
        ... stuff about the message
        {{/is}}
      {{/each}}
    </ol>
  {{/with}}
{{/view}}

... junto con un ayudante ...

Handlebars.registerHelper('is', function(options) {
  if (this.constructor == options.hash["constructor"]) {
    return options.fn(this);
  }
});

Prefiero confiar en alguna convención para averiguar qué vista representar. Por ejemplo

<script type="text/x-handlebars-template" data-model="App.Design" id="design-view">
... stuff about the design
</script>

<script type="text/x-handlebars-template" data-model="App.Order" id="order-view">
... stuff about the order
</script>

Quizás el atributo del modelo de datos podría usarse para determinar cómo se representa un objeto.

{{#view App.SelectedAccountView contentBinding="App.selectedAccountController.everythingSorted"}}
  {{#with content}}
    <ol class="timeline">
      {{#each this}}
        {{viewish this}}
      {{/each}}
    </ol>
  {{/with}}
{{/view}}

Alas, no puedo entender cómo acceder a las plantillas desde un asistente.

Handlebars.registerHelper('viewish', function(options) {
   // Were I able to access the templates this question
   // would be unnecessary.
   // Handlebars.TEMPLATES is undefined...
});

Además, ¿es algo que debería hacer con los manillares?

Respuestas a la pregunta(8)

Su respuesta a la pregunta