Ember Ошибка просмотра при просмотре: содержимое Ember.CollectionView должно реализовывать Ember.Array

Я хочу просто визуализировать вид выбора Ember с моделью, определенной в маршруте. Данные поступают с адаптера светильников. При этом я получаю сообщение об ошибке: содержимое Ember.CollectionView должно реализовывать Ember.Array - Вы передали App.AuthorsController.

Как я могу решить это?

См. JSFIDDLE: http://jsfiddle.net/cyclomarc/frvJZ/4/

(после запуска приложения нажмите на ссылку "Авторы", чтобы перейти к маршруту авторов с данными authorController.

КОД-HTML:

<script type="text/x-handlebars" data-template-name="application">
    <h1>Ember select view</h1>

    {{#linkTo 'authors'}}Authors{{/linkTo}}

    {{outlet}}
</script>

<script type="text/x-handlebars" data-template-name="authors">
     {{view Ember.Select contentBinding="App.AuthorsController"}}
</script>

КОД-JS:

window.App = Ember.Application.create();

App.Router.map(function () {
  this.resource('authors', { path: "/authors" });
});

App.AuthorsRoute = Ember.Route.extend({
  model: function () {
    return App.Author.find();
  }
});

App.AuthorsController = Ember.ArrayController.extend({})


//DATA

//define model for category
App.Author = DS.Model.extend({
    name: DS.attr('string'),
    language: DS.attr('string')
});

App.Store = DS.Store.extend({
    revision: 12,
    adapter: 'DS.FixtureAdapter'
});

App.Author.FIXTURES = [
 {
    id: 1,
    name: 'Luc Verschuren',
    language: 'German'
 },
 {
    id: 2,
    name: 'Patrick Burms',
    language: 'Dutch'
 },
 {
   id: 3,
   name: 'Jean Demeester',
   language: 'French'
 }
];

1 ответ

Решение

Попробуйте использовать content собственность вашего App.AuthorsController имея данные:

<script type="text/x-handlebars" data-template-name="authors">
 {{view Ember.Select 
   contentBinding="content"
   optionLabelPath="content.name"}}
</script>

Рабочая jsfiddle.

Надеюсь, поможет.

Другие вопросы по тегам