Я пытаюсь обнять Ember и пройти через учебник todos. Я застреваю на этапе отображения-модели-данных здесь http://emberjs.com/guides/getting-started/displaying-model-data/Ember todos: содержимое Ember.CollectionView должно реализовывать Ember.Array
вот на JavaScript я скопировал и вставил из учебника:
window.Todos = Ember.Application.create();
Todos.Router.map(function() {
this.resource('todos', { path: '/' });
});
Todos.TodosRoute = Ember.Route.extend({
model: function() {
return Todos.Todo.find();
}
});
Todos.Store = DS.Store.extend({
revision: 12,
adapter: 'DS.FixtureAdapter'
});
Todos.Todo = DS.Model.extend({
title: DS.attr('string'),
isCompleted: DS.attr('boolean')
});
Todos.Todo.FIXTURES = [
{
id: 1,
title: 'Learn Ember.js',
isCompleted: true
},
{
id: 2,
title: '...',
isCompleted: false
},
{
id: 3,
title: 'Profit!',
isCompleted: false
}
];
Тогда вот мой шаблон рулей:
...
{{#each controller}}
<li>
<input type="checkbox" class="toggle">
<label>{{title}}</label><button class="destroy"></button>
</li>
{{/each}}
И но я получаю эту ошибку
Uncaught Error: assertion failed: an Ember.CollectionView's content must implement Ember.Array. You passed <(generated todos controller):ember257>
Мне кажется, что любой объект контроллера по умолчанию, который генерирует Ember, должен иметь тип Ember.Array, но по какой-то причине это не происходит. Мне интересно, если это проблема с ember-данными?
Я использую все файлы из комплекта стартера, которые являются угольком 1.0.0 rc5 рулей 1.0.0 RC4 JQuery 1.9.1 и уголек-данные, единственным показание версий я могу сказать от комментария
// Last commit: 3981a7c (2013-05-28 05:00:14 -0700)
Есть ли проблема зависимости, которую кто-то знает или я сделал что-то не так?
ok -thanks. плохо попробуйте это в эти выходные и сообщите об этом. – tim
Это работает. Ты прав. По умолчанию ember создает 'Controller' вместо параметра' ArrayController' 'Todo.TodosController = Em.ArrayController.extend ({}); 'явно исправляет проблему. – dhilipsiva
Gotta love tutorials, которые содержат ошибки и имеют строки на каждой странице, говорящие «перезагрузите страницу, чтобы проверить наличие ошибок». –