我正在尝试让 Ember Data 使用 hasMany 与类继承的关联。
Ember 代码示例:
var Person = DS.Model.extend({
name: DS.attr('string'),
animals: DS.hasMany('Animal')
});
var Animal = DS.Model.extend({
name: DS.attr('string'),
owner: DS.belongsTo('Person')
});
var Dog = Animal.extend({
isBarking: DS.attr('boolean')
});
var Cat = Animal.extend({
isMeowing: DS.attr('boolean')
});
var fred = Person.createRecord({name: 'Fred'});
var ed = Dog.createRecord({name: 'Ed', isBarking: true});
// This gives:
// Error: assertion failed: You can only add records of Animal to this relationship.
fred.get('animals').pushObject(ed);
我希望能够animals
为每个人添加猫和狗实例。
Mongoid 为 Ruby/Rails 提供的内容给出了如何实现它的示例:
http://mongoid.org/en/mongoid/docs/documents.html#inheritance
我知道 Mongoid 的继承实现(_type
每个记录的自定义属性)可能对于 Ember Data 来说过于具体而无法实现。
如果有人可以给我一个提示是否可以使用 Ember Data 进行上述操作,如果可以,我将如何实现这一点,将不胜感激。如果这是 Ember Data 根本不支持的东西,那也是我想要的答案。
我正在运行 Ember 1.0.0-pre4 和几天前构建的自定义 Ember 数据。