Ember-Data的部分更新?

时间:2013-02-23 13:31:50

标签: ember.js ember-data

想象一下错误跟踪器。

每张票都包含大量数据。现在更新了一长串票证中的几张票的状态。

App.Ticket = DS.Model.extend({
    id: DS.attr('number'),
    status: DS.attr('string'),
    ...
});

目前,当在ember-data中调用save时,这会将完整的模型发送到服务器。

我只能发送部分更新,例如[{"id": 1, "status": "closed"}, {...}]

PS:我知道现在这是不可能的,所以我想知道是否有解决方法/修改可以实现这一点? (不需要通用解决方案。)

2 个答案:

答案 0 :(得分:3)

我目前的解决方法是指定一个readOnly选项,该选项排除我不希望在POST中发送的属性。

详情请见:https://github.com/emberjs/data/pull/303#issuecomment-13993905

答案 1 :(得分:1)

我也在研究这个问题,如果您希望将其应用于所有保存,那么今天您可以使用serializers/ticket.js等序列化程序修复它:

import DS from 'ember-data';

export default DS.RESTSerializer.extend({
  attrs: {
    status: {serialize: false}
  }
});

这会剥离status