可选的belongsTo关系未推送到存储

时间:2016-10-04 08:32:48

标签: ember.js ember-data

我遇到一个问题,即可选的belongsTo关系未被正确推送存储。在我的Ember应用程序中,我有两个可选的模型之间的关系。例如想象:

App.User = DS.Model.extend({
  profile: DS.hasMany('profile', {'async': true})
});

App.Profile = DS.Model.extend({
  user: DS.belongsTo('user', {'async': true})
});

"用户" " Profile"中的字段模特可以是空的。当它为空时,序列化程序应该返回

....
relationships: {
  user: null
}
...

在规范化的有效负载中,至少如果我正确解释了JSON-API标准(JSON-API resource linkage)。问题是这似乎没有被推到商店。我可以通过

重现这个问题
  1. 加载"个人资料"从后端记录关系"用户"设为null
  2. 更改"用户"客户端的特定记录值为非空值
  3. 从后端重新加载记录
  4. 完成这些步骤后,"用户" "简介"记录仍然保持其错误的非空值。

    这是预期的行为还是错误?如果这是预期的行为,我应该如何跟踪这些更改以保持数据完整性?

1 个答案:

答案 0 :(得分:0)

在第二次看JSON-API之后,似乎我解释错了。标准化的有效载荷应该是

...
relationships: {
  user: {
    data: null
  }
}
...

为我解决了这个问题。