1

別のモデルに保存されたモデルを定義できるかどうか疑問に思っていました。

私はこの種の構造を持っています:

Model Contact
    String name
    Model Address (hasMany)
    Model Phone (hasMany)

私のバックエンドでは、住所と電話番号は「連絡先」ドキュメントに含まれる MongoDB の埋め込みドキュメントです。

また、埋め込みドキュメントである限り、ID はありません。そして、私がEmberjs/dataレイヤーにいるとき、それらは埋め込みオプションで十分にロードされています(https://github.com/emberjs/data#one-to-oneセクションの最後を参照)が、次のように保存されますオブジェクトを分離すると、更新または保存時に問題が発生します...

4

1 に答える 1

3

RESTadapter を使用しています...保存するときに、埋め込まれたすべての関係をシリアル化したいですか?

レコードを保存または更新するときは、オプション ハッシュで toJSON メソッドに渡します。

{associations: true}

例として、ember-data の単体テストをご覧ください: https://github.com/emberjs/data/blob/master/packages/ember-data/tests/unit/to_json_test.js

deepEqual(record.toJSON({ associations: true }),
        { id: 1, name: "Chad", phone_numbers: [{
            id: 7,
            number: '123'
          },
          {
            id: 8,
            number: '345'
          },
          {
            id: 9,
            number: '789'
          }
        ]},
        "association is updated after editing associations array");
});

お役に立てれば..

于 2012-08-23T14:36:13.587 に答える