我有一个有多个地址的联系人模型。
Contact = DS.Model.extend({
addresses : DS.hasMany('address')
});
Address = DS.Model.extend({
street : DS.attr('string'),
city : DS.attr('string'),
state : DS.attr('string'),
zip : DS.attr('string')
});
最初,我只是使用this.store.find('contact',1);
加载联系人,然后加载与其相关的所有地址。
this.store.find('address',{cId:1}).then(function(address){
model.set('addresses',address);
self.set('model',model);
// return addresses;
});
一旦我尝试将上面的地址设置为联系对象,我就会收到以下错误:
Error: Assertion Failed: Error: Cannot set read-only property "addresses" on object: <interval-intl-ember-clii@model:contact::ember496:null>
我不确定问题是什么。我上面尝试做的事情是尝试按需加载孩子而不是父母最初出于性能原因,我无法遇到任何有用的例子来帮助我。
有关上述情况的任何建议吗?
答案 0 :(得分:0)
如果您打算手动设置地址,请按地址async
按需加载地址,或者根本不在模型定义中定义地址。
addresses : DS.hasMany('address', {async:true})