1

コミット時に別のリクエストを送信せずに、埋め込まれた hasMany 関係にモデルの新しいインスタンスを作成するにはどうすればよいですか?

これが私が現在行っていることです。私のモデル:

 AUI.TableMetadata = DS.Model.extend({
    name: DS.attr('string'),
    fields: DS.hasMany('AUI.FieldMetadata')
});

AUI.FieldMetadata = DS.Model.extend({
    name: DS.attr('string'),
    table: DS.belongsTo('AUI.TableMetadata')
});

店舗のセットアップ:

Adapter = DS.RESTAdapter.extend();

Adapter.map(AUI.TableMetadata, {
    fields: { embedded: 'always'},
});

AUI.store = DS.Store.create({
  revision: 11,
  adapter: Adapter.create({}),
});

レコードの作成:

var table = AUI.TableMetadata.createRecord({
    name: 'Cool Creatures',
    fields: []
});

var field = AUI.Field.createRecord({
    name: 'octopi',
});

table.get('fields').pushObject(field);
table.get('transaction').commit();

テーブルをコミットすると、テーブル ポストによってデータが正しく埋め込まれますが、子フィールドごとに個別の要求が送信され、404 が発生して子モデルがエラー状態になります。

4

1 に答える 1