我正在寻找一个合适的解决方案来支持我的EmberJS前端的通用关系。在我的后端我有一个模型,我们将它命名为Shipping
。
此模型具有adapter
字段,该字段是与其中一个适配器模型的通用关系。即我有3个不同的适配器SelfPickupAdapter,CourierAdapter,ZoneAdapter。
模型#1
export default DS.Model.extend({
name: DS.attr('String'),
address: DS.attr('String'),
city: DS.attr('String')
});
模型#2
export default DS.Model.extend({
name: DS.attr('String'),
email: DS.attr('String')
});
模型#3
export default DS.Model.extend({
name: DS.attr('String'),
address: DS.attr('String'),
zone: DS.belongTo('Zone')
});
每个适配器模型都应该有一种方法可以链接到顶级模型:
export default DS.Model.extend({
adapter: DS.genericRelation(['SelfPickupAdapter','CourierAdapter','ZoneAdapter']),
order: DS.belongsTo('Order'),
});