我通过调用this.get('model')来保存我的模型.save()。这导致PUT到一个只返回200消息的端点,而不是更进一步。但是,在服务器端,有一些自定义规则可以更改数据,使其与Ember发送到服务器的不同。这使我的UI和我的持久层处于不一致状态。
确保UI反映数据在持久存储到服务器后的正确状态的正确方法是什么?我的服务器端端点应该返回更新的模型吗?我试过在save()之后调用this.get('model')。reload()但是UI没有更新。当我这样做时,我可以看到它正在询问并从服务器获取新模型,但正如我所说,它没有在UI中反映出来。
我觉得Ember的一些基本知识是我缺失的。谢谢你的帮助。
答案 0 :(得分:1)
我猜你不是在等待记录来完成更新过程。
http://emberjs.com/api/data/classes/DS.Model.html#method_reload
所以这将是:
this.get('model').reload().then(function() {
console.log("Now I am ready !");
})
永远记住javascript是异步的。