我们有一个包含多个子模型的模型:
// models/parent.js
export default DS.Model.extend({
children: DS.hasMany("child")
});
// models/child.js
export default DS.Model.extend({
parent: DS.belongsTo("parent")
});
使用EmbeddedRecordsMixin
设置父模型的序列化程序,如下所示:
// serializers/parent.js
export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
attrs: {
children: { embedded: "always" }
}
});
如果我们在父模型的实例上调用save
,孩子会被标记为已保存吗?或者我们是否需要在父模型适配器中调用每个子模型的保存?
此外,如果我们定义子模型序列化程序,它是否会在父序列化过程中用于序列化子项?或者ED会使用默认的序列化程序吗?
答案 0 :(得分:0)
当我需要保存嵌套模型时,我覆盖序列化方法serializeBelongsTo和serializeHasMany以获取所有信息到json,然后在服务器端解析它。