我居然也跟着exact procedure to produce ToDOMVC,使这一个,但我想不出世界上,为什么我收到以下错误夹具数据加载路线:错误而在emberjs
下面Assertion failed: The value that #each loops over must be an Array.
You passed (generated questions controller) ember.js:394 Uncaught TypeError: Object [object Object] has no method 'addArrayObserver'
是代码
的index.html
<script type="text/x-handlebars" data-template-name="questions"><!--ACW-not sure should be question or equizz-->
<ul id="question-list" >
{{#each}}
<li>
<h3>{{title}}</h3>
</li>
<li>
<p>{{desc}}</p>
</li>
{{/each}}
</ul>
</script><!--template END-->
的application.js
window.Equizz = Ember.Application.create();
Equizz.ApplicationAdapter = DS.FixtureAdapter.extend();
个
router.js
Equizz.Router.map(function() {
this.resource('questions', { path: '/' });
});
Equizz.EquizzRoute = Ember.Route.extend({
model: function() {
return this.store.find('question');
}
});
question.js
Equizz.Question = DS.Model.extend({
qid: DS.attr('string'),
category: DS.attr('string'),
type:DS.attr('string'),
title: DS.attr('string'),
desc: DS.attr('string'),
diff_level: DS.attr('string'),
answer: DS.attr('boolean')
});
Equizz.Question.FIXTURES = [
{
qid: '1',
category: 'Track',
type:'True & False',
title: 'Get 100 in the quizz is the most disgraced act in simulator lab.',
desc: 'think clearly, you should know the answer without use your brain...',
diff_level: 'Hard',
answer: false
},
{
qid: '2',
category: 'Common',
type:'True & False',
title: 'You are allowed to eat in simulator lab.',
desc: 'Like what? Halal?',
diff_level: 'Medium',
answer: false
},
{
qid: '3',
category: 'BS',
type:'True & False',
title: 'fsafasf asf asjfkl; as fkasl; faf a;sf sf asfl; sjlfjs a; fsl fas;f dsaf aslfj asl;fj a;fj alfj slafj a?',
desc: 'Like what? Halal?Like what? Halal?Like what? Halal?Like what? Halal?Like what? Halal?Like what? Halal?Like what? Halal?Like what? Halal?Like what? Halal?Like what? Halal?Like what? Halal?Like what? Halal?Like what? Halal?Like what? Halal?Like what? Halal?Like what? Halal?Like what? Halal?Like what? Halal?',
diff_level: 'Easy',
answer: true
}
];
但是TodoMVC如何能够在没有控制器的情况下做到这一点? – Ezeewei
btw,现在我在加载路由时遇到错误: 错误 消息:“id属性必须定义为夹具的数字或字符串{qid:1,category:Track,类型:True&False,title:在模拟器实验室中获得100分,是模拟器实验室中最糟糕的行为。,desc:清楚地思考,你应该知道答案,而不用你的大脑......,diff_level:Hard,回答:false}“ stack:(...) – Ezeewei
如果没有提供路由器,Ember会为路由生成控制器。如果路由的模型是一个数组,则路由必须从模型钩子提供一个数组。 在Todo示例中,路由提供了一个数组模型,所以Ember知道为该路由生成一个ArrayController。 另外,灯具需要一个'id'属性,你的被定义为'qid'。 – rallrall