如果将 Ember.js 与 ember-data REST 适配器一起使用,是否有某种冲突解决策略来处理持久化到服务器的数据?
至少,就我而言,如果可以通知用户,在发生冲突的情况下失败和回滚就足够了。那么,这需要某种数据/结构吗?模型上的某种“版本”ID,服务器可以在其中检查提交的版本,并确保客户端具有最新数据。Ember.js 中有什么东西可以减少手动操作吗?如果是这样,是什么?
编辑:另外,有什么可以帮助解决模型批量提交的冲突吗?假设我们有一个与多个子模型具有“hasMany”关系的父模型,并且它们都将同时持久化到数据库中。如果只是处理服务器端代码,我觉得我可以将它包装在我正在使用的任何数据库中的事务中,如果某些东西过时则失败。这如何转化为 Ember.js 事务?
我在 Adapter 类中看到了一个标志 bulkCommit。这似乎能够在一个请求中批量提交相同类型的对象。但是,如果我要保存一种以上类型的记录,那么这将导致对服务器的多个请求。有没有办法a)在对服务器的一个请求中实现这一点,或者b)将ember-data的事务与服务器上的事务匹配,所以如果服务器上的事务失败,需要回滚, ember-data 交易也失败了?
[我正在为即将到来的项目评估 Ember.js,并测试一些功能以及开发它的感觉。我实际上正在考虑使用 socket.io 或类似的更多实时更新。我看到 derby.js 已经朝着自动解决冲突做出了一些努力]