4

プロジェクトを Backbone (ORM 用の Backbone Relational を使用) から Ember に変換していますが、DS.belongsTo を使用して同じ型のオブジェクトを参照する方法の例をドキュメントで見つけることができません。

つまり、次のモデル定義があります (わかりやすくするための一般的な擬似コード)。

BoxModel
  Text = String
  BoxParent = BoxModel (referenced by id)

クライアント側の操作などのために、この構造を Ember で再作成したいと考えています。

また、requirejs を使用しているため、DS.belongsTo のすべてのオブジェクト ターゲットを define ステートメントに含め、匿名関数のパラメーターとして使用できるようにする必要があります。

そのため、次のようなものを使用できるとは思えません。

define ([ 'textbox'  ]), function(TextBox) {
  return DS.Model.extend({
    BoxParent: DS.belongsTo(TextBox)
   });
});

現在のクラス定義への参照は機能しない可能性があります。Django では、このタイプの関係は「自己」という特別なターゲットで処理されますが、Ember では同等の解決策が見つかりません。どんな助けでも大歓迎です。

最後に、すべての TextBoxes が親を持つ必要があるわけではないため、この関係は null になることもあります (無限の循環参照がない限り、このタイプの関係ではこれは避けられません)。

ありがとう!スティーブ

4

1 に答える 1

0

初期化されていないモデル名を使用するには、モデル名を引用符で囲む必要があります。

App.Box = DS.Model.extend([
  parent: DS.belongsTo('App.Box')
});
于 2013-04-14T16:08:18.000 に答える