【发布时间】:2014-02-21 20:21:36
【问题描述】:
我通过调用 this.get('model').save() 将我的模型从我的控制器中保存下来。这会导致一个 PUT 到一个只返回 200 消息的端点,而不再返回。然而,在服务器端,有一些自定义规则正在更改数据,使其与 Ember 发送到服务器的数据不同。这会使我的 UI 和持久层处于不一致的状态。
在将数据持久化到服务器后,确保 UI 反映数据的正确状态的正确方法是什么?我的服务器端端点是否应该返回更新后的模型?我试过在 save() 之后调用 this.get('model').reload() 但 UI 没有更新。当我这样做时,我可以看到它正在询问并从服务器获取新模型,但正如我所说,它没有反映在 UI 中。
我觉得我缺少一些 Ember 的基础知识。感谢您的帮助。
【问题讨论】:
-
您的 api 端点应该返回与您发送到服务器进行更新的结构相匹配的更新模型。如果有 hasMany 关系在起作用,您的序列化程序或 ember 模型可能有问题......您不必重新加载模型。如果这样做,您可能会在整个应用中遇到模型绑定问题。
-
好的,谢谢,我就是这么想的。
标签: javascript ember.js