我遇到的情况是我有一个余烬数据记录,我不知道它是否已经保存到服务器。有没有办法找出来?
(使用ember-data(1.0.0-beta.11)和ember(1.8.0))
在保存到服务器之前,ID将类似于9gdh5
,所以我最初只是检查isNaN(+record.get('id'))
但不幸的是,当ember生成的临时ID不包含任何字母时,偶尔会失败。
搜索显示,以前使用的_clientId
属性的ember-data似乎已经消失了。我是否遗漏了一些明显的东西,或者我是否需要手动管理一个标记,说明记录是来自服务器还是本地生成的?
以下是有关我的用例的一些信息,以防有助于澄清问题......
我的应用在线上和线下都有效。我的自定义适配器知道它何时脱机并将请求排队到LocalStorage以在线时发送。用户可以更新记录,当适配器收到此更新时,它需要知道记录是否已同步到服务器。如果是这样,它会在联机时将PUT
请求排队发送到服务器。如果记录尚未同步,我们无法执行PUT
请求,因为我们不知道记录的ID(这是PUT
的URL的一部分)。因此,我们必须找到本地存储的POST
请求并进行更新。所以我想要一种可靠的方法来确定记录是否已经同步到服务器......
答案 0 :(得分:2)
http://emberjs.com/api/data/classes/DS.Model.html#property_isNew
这可能是新问题,因为这个问题已经创建,但我来到这里寻找答案,以为我会粘贴我找到的内容。