次のモデルがあるとします。
App.Item = DS.Model.extend({
owner: DS.belongsTo('App.Person', {embedded: true})
})
これは、この埋め込まれた関連付けをロードできることを意味しますが、すでに存在する人のために新しいアイテムを作成したい場合、ember-data はすべての新しいアイテムに対して Person オブジェクトも埋め込むことも意味します。
埋め込みオブジェクトをロードすることはできますが、関連付けを作成するときに ID のみを送信することはできますか? つまり、代わりにこれを送ってください:
{"item": {"owner_id": 5}}
編集: 明確にするために、ember-dataに埋め込み関係をロードさせたいのですが、 {embedded: true} を設定した場合、このコード:
App.Item.createRecord({name: 'Something', owner: App.Person.find(1)});
// And a few moments later when App.Person.find(1) has loaded
App.store.commit()
次のjsonを送信します。
{ "item": {"name": "Something", owner: { id: 1, name: "whatever" }}
しかし、私が欲しいのは:
{ "item": {"name": "Something", owner_id: 1 }}
基本的に、embedded = true を設定すると、オブジェクトの作成時に ember-data も関連付けを埋め込みます。