假设您有以下模型:
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 也会在您创建对象时嵌入关联。