¿Cómo cargar dinámicamente componentes de ascuas por nombre en una plantilla?

Mi pregunta es básicamente la misma que enesta respuesta, pero no puedo hacer que el código funcione con ember 1.7.0 y & ember-cli.

tengo unwidget propiedad en mi modelo, y en mi plantilla quiero tener algo como:

{{#each question in questions}}
{{#with question}}
  <label>{{title}}</label>
  {{render-component widget params=params}}
{{/with}}
{{/each}}

Y un modelo de preguntas que se ve así:

{ id: 6,
  title: "Is this a yes/no situation?",
  help_text: 'Pick an option',
  widget: 'yes-no',
  params:
  {
    yes: {
      text: 'You picked yes',
      class: 'success'
    },
    no: {
      text: 'Be careful, you picked no',
      class: 'danger'
    }
  }
}

He creado unrender-component ayudante que contiene lo siguiente:

import Ember from 'ember';

function renderComponent(componentPath, options) {
  console.log('inside helper with comp=' + componentPath + ', opts=' + options);
  var component = Ember.Handlebars.get(this, componentPath, options);
  var helper = Ember.Handlebars.resolveHelper(options.data.view.container, component);
  return helper.call(this, options);
}

export {
  renderComponent
};

export default Ember.Handlebars.makeBoundHelper(renderComponent);

Pero esto no funciona.component es indefinido. Los documentos API paraEmber.Handlebars.get no son muy útiles para explicar lo que eloptions parámetro es Además, no hay mención de unresolveHelper método en los documentos ahora, así que no sé si el código está desactualizado de todos modos.

¿Cómo puedo cargar componentes por nombre desde una variable?

Respuestas a la pregunta(3)

Su respuesta a la pregunta