灰色保存返回多个对象

时间:2015-09-08 20:49:37

标签: ember.js ember-data

我使用Ember 1.9和Ember-data 1.0.0-beta.11。

我的REST资源接受POSTed记录并返回持久化对象,通常由Ember处理。

但是,有时,REST资源将确定必须创建两个记录并执行此操作,在POST响应中返回两个记录。

我正试图确定这种情况下的最佳行动方案。碰巧,两个记录都插入到商店中。但是,对save的{​​{1}}函数的响应是单个记录(响应中的第一个记录)。

如果不考虑REST资源的理论“正确性”,并假设无法修改该资源,我该如何处理Ember?

1 个答案:

答案 0 :(得分:1)

保存记录时,Ember数据会将extractSave序列化程序挂钩应用于响应,默认情况下使用extractSingle方法提取记录:https://github.com/emberjs/data/blob/v1.0.0-beta.11/packages/ember-data/lib/serializers/json_serializer.js#L877

您可以尝试覆盖序列化程序中的extractSave挂钩,调查有效负载以确定已返回的记录数。如果它是单个记录,则使用this.extractSingle()否则使用this.extractArray()

希望这会有所帮助。