我正在尝试了解 Ember 并阅读 todos 教程。我在这里的显示模型数据步骤卡住了 http://emberjs.com/guides/getting-started/displaying-model-data/
这是我从教程中复制和粘贴的 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-data 的问题?
我正在使用入门工具包中的所有文件,它们是 ember 1.0.0 rc5 handlebars 1.0.0 rc4 jquery 1.9.1 和 ember-data,我能说的唯一版本控制指示来自评论
// Last commit: 3981a7c (2013-05-28 05:00:14 -0700)
是否存在有人知道的依赖问题或者我做错了什么?