我有两个模型
App.Poll = DS.Model.extend({
id: DS.attr('string'),
title: DS.attr('string'),
answers: DS.hasMany('App.Answer')
});
App.Answer = DS.Model.extend({
id: DS.attr('string'),
value: DS.attr('number')
});
App.Poll.FIXTURES = [{
id: '1',
title: 'PollTitle',
answers: ['3', '4']
}];
App.Answer.FIXTURES = [{
id: '3',
value: 1
},{
id: '4',
value: 2
}];
App.PollsRoute = Ember.Route.extend({
model: function(){
return App.Poll.find('1');
}
});
我创建了助手,它计算模型数组中指定字段的值
Ember.Handlebars.helper('fieldSum', function(arr, ops){
var res = 0;
arr.forEach(function(item){
res += item.get(ops.hash.field);
});
return new Handlebars.SafeString(res);
});
<div class="count">{{fieldSum answers field="value"}}</div>
但是在助手主体中,我得到了空(未加载)answers
,只有id
文件,所以我无法计算它们的值,这个助手的结果是 NaN
但是在{{#each answers}}
加载所有答案之后。
我可以以某种方式强制在我的助手中App.PollsRoute
或在我的助手中加载相关对象吗?