使用单个服务器请求更新多个记录的最佳实践

时间:2014-01-06 09:21:01

标签: ember.js ember-data

我有一个User模型hasMany phones。用户的UI允许在单个表单上添加/删除/更新电话。

当用户提交表单时,对电话列表的所有更改都会通过一个请求发送到服务器。

我已使用自定义App.UserSerializerserializeHasMany进行了扩展,以在单个请求中包含所有电话详细信息。

真正的问题是在请求完成后同步store状态。 基本上我需要解决这两个问题:

  1. 从商店中删除已删除的记录。我找不到任何只从商店中删除记录的方法。
  2. 使用服务器生成的ID更新新记录。 (或者只是从storehasMany数组中删除新记录,因为响应会为添加的记录创建重复记录)
  3. 对于这种情况,是否有最佳做法或解决方法?

    谢谢。

1 个答案:

答案 0 :(得分:1)

我认为现在的最佳做法就是坚持常规REST。在你的情况下,这将意味着一些额外的请求(实际上,用户可以拥有多少手机?),但它将为您节省大量手动处理事情。

Ember将来可能会支持批量更新(https://github.com/emberjs/data/blob/master/TRANSITION.md“我们计划在将来通过专用API通过单个HTTP请求支持批量保存。”