2

私のアプリケーションでは、モデルCommentと関係authorのあるモデルがありUserます。

Java 用語で言えば、このモデルUserは抽象クラスです。モデル インスタンスは型StudentまたはTeacher. この目的のために、モデルUserには属性がありますtype。したがって、構造は次のようになります。

App.Comment = DS.Model.extend({
    author: DS.belongsTo('user'),
    ...
});  

App.User = DS.Model.extend({
    type: DS.attr('string'),
    ...
});

App.Student = App.User.extend({
    ...
});

App.Teacher = App.User.extend({
    ...
});

REST API を通じて、Commentそれぞれauthorの を含む のリストを受け取ります。

デフォルトでは、作成者ごとに、Ember はUserモデルのインスタンスを作成します。

ただし、代わりに、リクエスト応答の属性に応じてaStudentまたは aを作成したいと思います。Teachertype

これを達成するための最良の方法は何ですか?JSON キーを Ember モデルにマップする関数をどこかでオーバーライドできるはずです。

4

2 に答える 2

1

わかりました。Ember はポリモーフィック モデルをサポートしていることが判明したので{polymorphic: true}authorリレーションシップを追加することで簡単に解決しました。

App.Comment = DS.Model.extend({
    author: DS.belongsTo('user', { polymorphic: true }),
    ...
});
于 2013-10-23T14:28:44.330 に答える