我正在尝试构建一个Ionic 1应用程序(Ionic基于AngularJS),它通过angularjs-rails-resource与Rails 5后端进行通信。
这个应用程序应该允许我们执行CRUD操作(创建,读取,更新,销毁),让我们说Post
模型。离线时,用户应该能够执行多项操作,即
Post
7(之前从服务器提取并在本地保存)Post
6 Post
Post
这意味着,即使此更改尚未发送到服务器,我们新创建的Post
也列在Posts
列表中。
稍后,当重新建立连接时,应该以同步方式将这些更改发送到Rails后端(我们无法编辑尚未创建的Post
)。
我找不到符合我标准的工具:
PouchDB需要CouchDB服务器,但这不是一个选项,并且设置PouchDB,CouchDB和RailsDB< - > CouchDB自动同步功能似乎有些过分。
我的第一个想法是向angularjs-rails-resource添加一些拦截器,这大致是这样做的:
GET
请求后:返回本地保存的数据POST
,PUT
,DELETE
请求:将此请求排队以备将来重试并对本地数据执行此操作(即POST
)这是一个很好的方法吗?这个问题在我看来像许多应用程序开发人员应该拥有它,但我现在无法找到一个很好的解决方案,这让我想知道我是否错过了什么。