我尝试将对Ember中的子模型的父模型的更改保存到我的服务器,但由于某种原因,REST Payload不包含belongsTo关系
我的2个模型定义如下:
parent.js
import DS from 'ember-data';
export default DS.Model.extend({
parentName: DS.attr('string')
});
child.js
import DS from 'ember-data';
export default DS.Model.extend({
childName: DS.attr('string'),
parent: DS.belongsTo('parent')
});
当我通过编辑和保存现有记录将belongsTo更改为childModel的不同父级时。不知何故,我的有效载荷不包括父模型。
例如。
我有一个这样的孩子:
{
id: 1,
parent: 1,
childName: "Child 1"
}
在代码中我这样做:
childModel.set('parent', parentModel); // this is a different parentModel, one with id: 2
我希望有效载荷看起来像这样:
HTTP-PUT:http://server/child/1
{
id: 1,
parent: 2,
childName: "Child 1"
}
然而,实际上,有效载荷是这样的:
HTTP-PUT:http://server/child/1
{
id: 1,
childName: "Child 1"
}
这里出了什么问题?为什么有效负载中缺少父关系?
一些额外信息:
答案 0 :(得分:0)
在序列化期间,我只从我的JSON Api - JSON中提取了属性哈希,显然我需要在关系哈希中寻找关系。