【问题标题】:Partial update in Ember-Data?Ember-Data 中的部分更新?
【发布时间】:2013-02-23 13:31:49
【问题描述】:

想象一个错误跟踪器。

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

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

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

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

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

【问题讨论】:

  • HTTP 规范有一个 PATCH 动词正是为此 (tools.ietf.org/html/rfc5789)。我们只需要 ember-data 来支持它。我绝对 +1 这个请求!

标签: ember.js ember-data


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    我也在研究这个问题,如果你希望它适用于所有保存,那么今天你可以使用像serializers/ticket.js这样的序列化程序来修复它:

    import DS from 'ember-data';
    
    export default DS.RESTSerializer.extend({
      attrs: {
        status: {serialize: false}
      }
    });
    

    这会去掉status

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多