所以我正常创建/加载模型:
let contact = self.get('store').createRecord('contact');
然后我得到地址,这是模型上的BelongsTo关系:
let address = contact.get('address');
返回的address
变量是一个Proxy对象,promise将解析为相关模型或null。
问题是如何创建新的地址模型并将其分配给原始联系对象,但只使用地址代理对象?
答案 0 :(得分:2)
如果要创建新地址记录(而不是模型)并将其分配给新创建的联系人,可以执行以下操作:
const store = this.get('store');
const contact = store.createRecord(
'contact',
{
name: 'Jack',
address: store.createRecord('address')
}
);
或者如果您已经拥有地址代理,并且只有在null
结果时才想创建新地址代理:
const store = this.get('store');
const contact = store.createRecord('contact', { name: 'Jack' });
my_address_proxy.then(address => {
contact.set('address', address || store.createRecord('address'));
});