如何使Ember本地存储适配器(LSAdapter)与Ember REST适配器一起使用?

Hao*_* Li 8 local-storage ember.js

我想利用Ember本地存储适配器(LSAdapter)和Ember REST适配器(RESTAdapter),以便为所有用户提供集中式数据库,同时避免为每个用户操作发送Ajax请求.

具体来说,我想:

  1. 使用来自服务器的数据填充LSAdapter.
  2. 用户所做的所有更改都将更新为LSAdapter.(我知道如何执行此步骤)
    (为准备#3,我可以使用一个模型来保存所有更新的LSAdapter中的日志)
  3. 在n分钟后,LSAdapter更新数据将发送回服务器.

我的后端服务器不是Rails,所以请将答案设为通用.

是否可以在Ember应用程序中使用BOTH LSAdapter和RESTAdapter?如果是,请提供如何设置的代码示例.
如果您提供步骤1和3的代码示例,我将非常感激,基本上,数据库如何与本地存储通信,反之亦然.


如果不可能同时拥有LSADapter和RESTAdapter,我该怎么做才能完成第1步和第3步?

我能想到的唯一好处是将Ember应用商店设置为RESTAdapter,然后直接在我的应用中调用Web Storage localstorage,而不是直接从LSAdapter调用它.如果有更简单或内置的方式,请告诉我.

Hao*_* Li 2

阅读 Ember 数据的 DS.Store 评论后,看起来可能可以同时使用 2 个适配器

  1. 您可以通过多种方式从商店检索模型。要检索特定 id 的记录,请使用 的DS.Model方法find()

    var person = App.Person.find(123);

  2. 如果您的应用程序有多个DS.Store实例(不寻常的情况),您可以指定应使用哪个存储:

    var person = store.find(App.Person, 123);

如果我尝试并使其正常工作,我将更新此答案。


更新1:

查看更新中的代码以了解调用FixtureAdapterRestAdapter的其他问题。