在 emberjs 论坛上发布了这个,但 SO 似乎更合适。
你好!我有两条路线,分别称为 classyears 和 classyear。它们像这样嵌套:
this.resource('classyears', function(){
this.resource('classyear', { path: '/classyear/:classyear_id'});
});
Posterkiosk.ClassyearsRoute = Ember.Route.extend({
model: function() {
return Posterkiosk.Classyear.find();
}
});
Posterkiosk.ClassyearRoute = Ember.Route.extend({
model: function(model) {
return Posterkiosk.Classyear.find(model.classyear_id);
}
});
我的模板是:
学年:
<div class="yearList">
{{#each item in model}}
{{#linkTo 'classyear' item}}{{item.id}}{{/linkTo}}
{{/each}}
</div>
{{outlet}}
学年:
<div class="transformContainer">
{{trigger sizeComposites}}
{{name}}
{{#each students}}
{{partial student}}
{{/each}}
</div>
(“触发器”助手来自另一个 SO 帖子。不过,问题是在添加它之前发生的)
我正在使用 Ember 模型 RESTAdapter。当我加载 /classyear/:classyear_id 时,看起来 classyear 正在渲染它的数据两次。一次正确加载数据,一次未加载数据。顺序似乎是随机的。如果无数据选项最后出现,它会清除正确加载的数据,留下空白页。反之亦然,页面内容显示得很好。
有什么想法吗?
/编辑 2:更多信息:
看起来 0 记录回复来自类年加载。因此,零记录回复很可能实际上只是我的 hasMany 字段“学生”中的零记录。
如果我加载 /classyears (未指定班级年份),它只加载一次,以获取班级年份选项。如果我然后单击一个班级年份,除非我刷新页面,否则它不会重新加载班级年份,此时它会同时加载两者,如果班级年份加载(一个 findall)第二个完成,它不会在页面上显示任何数据(其他比顶部正确填充的 classyears 模板)。
所以...也许我的 classyears 模型没有正确处理 hasMany 字段?
我觉得我越来越近了,但仍然不确定发生了什么。