Ember 数据 - 查明一条记录是否已保存到服务器

vit*_*tch 5 ember-data

我遇到了一种情况,我有一个 ember-data 记录,但我不知道它是否已经保存到服务器上。有什么办法可以查到吗?

(使用 ember-data (1.0.0-beta.11) 和 ember (1.8.0))

在保存到服务器之前,ID 会是这样的9gdh5,所以我最初只是检查,isNaN(+record.get('id'))但不幸的是,当 ember 生成的临时 ID 不包含任何字母时,偶尔会失败。

搜索显示 ember-data 以前使用过一个_clientId属性,但这似乎已经消失了。我是否遗漏了一些明显的东西,或者我是否需要手动管理一个标志,说明记录是来自服务器还是本地生成?

以下是有关我的用例的一些信息,以防有助于澄清问题......

我的应用程序可以在线和离线运行。我的自定义适配器知道它何时处于离线状态,并将请求排队到 LocalStorage 以在在线时发送。用户可以更新记录,当适配器收到此更新时,它需要知道记录是否已同步到服务器。如果是这样,它将PUT在联机时将请求排队发送到服务器。如果记录尚未同步,我们无法执行请求,PUT因为我们不知道记录的 ID(它是 的 URL 的一部分PUT)。因此,我们必须找到本地存储的POST请求并更新它。所以我想要一种可靠的方法来查明记录是否已同步到服务器......

Rob*_*bbo 2

http://emberjs.com/api/data/classes/DS.Model.html#property_isNew

自从这个问题创建以来,这可能是新的,但我来这里寻找答案,所以我想粘贴我发现的内容。