2013-07-29 3 views
0

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

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

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

(после запуска приложения, нажмите на ссылку "Авторского к Гото Авторы маршрута с данными authorsController

КОД-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> 

Working jsfiddle.

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

+0

Это действительно работает! Я всегда смущен различием между App.AuthorsController, содержанием и моделью. Большое спасибо ! – cyclomarc

+0

@Marc, рад, что я мог бы помочь, не забудьте пометить ответ как принятый, если хотите, так что будущие люди будут знать, что это сработало для вас. – intuitivepixel

+0

Это действительно работает, если выбранный вид может быть основан на «содержании». Но что делать, когда я также хочу показать, например, другой список выбора, который нужно отображать с другими данными. См. Http://jsfiddle.net/frvJZ/10/ - В этом примере я также хочу показать выбранное представление со всеми AuthorTypes (определенными как данные привязки). Любая помощь приветствуется ! – cyclomarc

Смежные вопросы