次のコードがあります。
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
そのため、サーバーからゾーンをロードするたびに、ゾーンが既に存在していると認識されないため、ゾーンがローカル リストに追加されます。これを修正する方法はありますか、またはいくつかの代理キーをモックアップする必要がありますか?