我使用Ember 1.9和Ember-data 1.0.0-beta.11。
我的REST资源接受POSTed记录并返回持久化对象,通常由Ember处理。
但是,有时,REST资源将确定必须创建两个记录并执行此操作,在POST响应中返回两个记录。
我正试图确定这种情况下的最佳行动方案。碰巧,两个记录都插入到商店中。但是,对save
的{{1}}函数的响应是单个记录(响应中的第一个记录)。
如果不考虑REST资源的理论“正确性”,并假设无法修改该资源,我该如何处理Ember?
答案 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()
。
希望这会有所帮助。