我居然也跟着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