【发布时间】:2015-09-21 21:36:54
【问题描述】:
我正在使用 Ember 的 RESTAdapter,并且有一个非常标准的多态关系:
// models/order.js
import DS from 'ember-date';
export default DS.Model.extend({
transferableItem: DS.belongsTo('transferable-item', { polymorphic: true })
});
// models/transferable-item.js
import DS from 'ember-date';
export default DS.Model.extend({
order: DS.belongsTo('order')
});
// models/ticket.js
import TransferableItem from './transferable-item';
export default TransferableItem.extend();
我的 JSON 如下所示:
{
"orders": [{
"id": 111,
"transferableItem": 999
"transferableItemType": "Ticket"
}],
"tickets": [{
"id": 999
}]
}
查看 Ember Inspector,订单和工单都正确加载。然而,他们两人之间的联系被打破了。我收到此错误:
您在带有 id 的“订单”上查找了“transferableItem”关系 999 但未加载某些关联记录。要么做 确保它们都与父记录一起加载,或指定 关系是异步的 (
DS.belongsTo({ async: true }))
根据 Ember Inspector,没有加载任何 transferable-items,所以在某种程度上,这个错误是有道理的。但是,既然这是多态关系,难道不应该只是尝试使用关联的Ticket,实际上已经加载了吗?
【问题讨论】:
标签: ember.js polymorphic-associations