5

Ember Data 正在快速地从一个版本到另一个版本,保存数据的方法也随之发生了变化。现在使用 1.0.0-beta.8.2a68c63a 版本,正确的方法是更新记录,然后执行 record.save() 以触发返回服务器的 PUT 请求。使用我当前的应用程序,我一次更新多条记录,这可能涉及 50+ PUT ajax 请求返回服务器。我们担心性能和效率问题,并且没有找到任何用于执行批处理请求的文档。如果有的话,我们在网上发现了很多其他人正在寻求做同样的事情,但还没有找到好的解决方案。

现在我正在研究手动序列化这些对象并将它们保存回服务器,我认为这就是 Ember Data 的全部意义所在。因此,也许根本不使用 Ember Data 并手动编写 CRUD 请求并制作我自己的数据层来处理所有这些,并仅使用 ArrayControllers 和 ObjectControllers 将数据保存到 Handlebars 模板中并绑定到 Handlebars 模板中,这对我来说是最有利的。这样做的好处似乎是它可以按照我需要的方式工作(批处理请求),并且代码不会与未来版本的 Ember Data 中断。有什么想法或解决方案吗?

4

1 回答 1

1

您可以使用DS.EmbeddedRecordsMixin. 如果您的 Page 对象有很多块(例如,根据您的评论),那么page-serializer.js看起来像:

import DS from 'ember-data';

export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
  attrs: {
    blocks: { serialize: 'records' }
  }
});

每当您保存页面记录时,其所有关联的块记录都将包含在该 PUT 请求中。

请参阅此处的文档。

于 2015-10-29T17:31:58.657 回答