这对我来说有点棘手,因为它根本没有包含在文档中。
我有四个模型:
App.Dog = DS.Model.extend();
App.Cat = DS.Model.extend();
App.Food = DS.Model.extend();
App.Toy = DS.Model.extend();
狗
和猫
都有很多食物
和很多玩具
。另一方面,food
和 toy
的单个实例只能属于一个 dog
或 cat
(因此它在动物方面是 hasMany
-ish 关系,在项目方面是 belongsTo
-ish)。
关于如何使用多态关系在 Ember 中执行此操作的任何提示?或者除了多态关系之外,也许还有更好的方法来实现这一点?
还有我应该在我的 Controller 中实现什么代码来创建一个新的 food
或 toy
属于 dog
或 cat 的记录
?
谢谢!
最佳答案
基于 this slideshow ,类似于:
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 })
});
关于javascript - 在 Ember.js 中处理多态关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22045381/