Ако използвате Ember.js с REST адаптера за ember-data, има ли някаква стратегия за разрешаване на конфликти за обработка на постоянни данни към сървъра?
Най-малкото, за моя случай, отказът и връщането назад биха били достатъчни в случай на конфликти, ако потребителят може да бъде информиран за това. И така, дали ще са необходими вид данни/структура за това? Някакъв идентификатор на "версия" на моделите, където сървърът може да провери изпратените версии и да се увери, че клиентът разполага с най-новите данни. Има ли нещо в Ember.js, което да направи това малко по-малко ръчно? И ако да, какво?
Редактиране: Също така, има ли нещо, което помага при конфликти на групови ангажименти на модели? Да кажем, че имаме родителски модел с връзка "hasMany" към няколко дъщерни модела и всички те трябва да бъдат запазени в базата данни едновременно. Ако се занимавам само с код от страна на сървъра, смятам, че мога да обвия това в транзакция в каквато и база данни да използвам, и да се проваля, ако нещо е остаряло. Как се превежда това в Ember.js транзакции?
Виждам флаг bulkCommit в класа на адаптера. Това изглежда е в състояние групово да ангажира обекти от същия тип в една заявка. Ако обаче поддържам записи от повече от един тип, това ще доведе до множество заявки към сървъра. Има ли начин а) да направите това да се случи с една заявка към сървъра, или б) да съпоставите транзакциите на ember-data с транзакциите на сървъра, така че ако транзакцията на сървъра е неуспешна и трябва да бъде върната назад, транзакцията с ember-data също е неуспешна?
[Оценявам Ember.js за предстоящ проект и тествам няколко функции и какво е да се развива в него. Всъщност обмислям повече актуализации в реално време с помощта на socket.io или подобен. Виждам, че derby.js е направил някои движения към автоматично разрешаване на конфликти]