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.
Надеюсь, поможет.