我有以下代码:
Pult.Zone = DS.Model.extend({
name: DS.attr('string'),
authoritative: DS.attr('boolean'),
user_id: DS.attr('number'),
rulesets: DS.hasMany('Pult.Ruleset')
});
Pult.RESTAdapter.map('Pult.Zone', {
primaryKey: 'name',
rulesets: { key: 'rulesetIds' }
});
但是,似乎没有正确选择主键。我已经呈现了所有区域的列表。
这是一个测试用例:
zones = Pult.store.findAll(Pult.Zone);
zones.get('length'); // Returns 10
zones = Pult.store.findAll(Pult.Zone);
zones.get('length'); // Returns 20
因此,每次我从服务器加载区域时,它都会将它们添加到本地列表中,因为它不会将它们识别为已经存在。有什么办法可以解决这个问题,还是我必须尝试模拟一些代理键?