我想知道是否可以定义存储在另一个模型中的模型。
我有这种结构:
Model Contact
String name
Model Address (hasMany)
Model Phone (hasMany)
在我的后端,地址和电话是MongoDB的“联系”文档中包含的嵌入式文档。
而且,只要它们是嵌入式文档,它们就没有id。 当我在Emberjs /数据层时,它们仍然加载了嵌入式选项(参见https://github.com/emberjs/data#one-to-one部分的末尾),但存储为单独的对象,这在更新或保存时会造成麻烦。
答案 0 :(得分: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");
});
希望这会有所帮助..