9

クラス継承との hasMany 関連付けで Ember Data を動作させようとしています。

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猫と犬のインスタンスをfor each Personに追加できるようにしたいと思います。

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 Data ビルドを実行しています。

4

1 に答える 1

2

ポリモーフィズムはまだ正式にサポートされていませんが、探している機能を正確に提案するスタンディングプル リクエストがあります。

于 2013-03-03T03:21:03.683 に答える