Javascript 在Ember.js中处理多态关系
这对我来说有点棘手,因为文档中根本没有涉及它 我有四种型号:Javascript 在Ember.js中处理多态关系,javascript,ember.js,Javascript,Ember.js,这对我来说有点棘手,因为文档中根本没有涉及它 我有四种型号: App.Dog = DS.Model.extend(); App.Cat = DS.Model.extend(); App.Food = DS.Model.extend(); App.Toy = DS.Model.extend(); 狗和猫都有许多食物和玩具。另一方面,食物和玩具的单个实例只能属于一只狗或猫(因此,在动物方面有许多-ish关系,在物品方面属于-ish) 有没有提示如何使用多态关系在余烬中执行此操作?或者除了多态关系
App.Dog = DS.Model.extend();
App.Cat = DS.Model.extend();
App.Food = DS.Model.extend();
App.Toy = DS.Model.extend();
狗和猫都有许多食物和玩具。另一方面,食物
和玩具
的单个实例只能属于一只狗
或猫
(因此,在动物方面有许多
-ish关系,在物品方面属于
-ish)
有没有提示如何使用多态关系在余烬中执行此操作?或者除了多态关系之外,还有更好的方法来实现这一点
另外,我应该在控制器中执行什么代码来创建属于狗或猫的新食品或玩具记录
谢谢 基于,类似于:
App.Animal = DS.Model.extend({
food: DS.hasMany('App.Food', { polymorphic: true }),
toys: DS.hasMany('App.Toy', { polymorphic: true })
});
App.Dog = App.Animal.extend(/* .... */);
App.Cat = App.Animal.extend(/* .... */);
App.Food = DS.Model.extend({
owner: DS.belongsTo('App.Animal', { polymorphic: true })
});
App.Toy = DS.Model.extend({
owner: DS.belongsTo('App.Animal', { polymorphic: true })
});