Существует проект с именем persistence.js ( persistencejs.org ), который представляет собой объект отображения базы данных javascript с независимыми от базы данных абстракциями.Таким образом, вам не нужно ограничивать ваше приложение базами данных WebSQL, и вы также можете поддерживать (с тем же кодом) использование локального хранилища, например.
У них также есть плагин под названием persistence.sync , который синхронизирует удаленную базу данных с базой данных сервера.У них есть пример бэк-энда, но он написан для node.js.Тем не менее, вы можете сделать один для Rails, следуя их инструкциям.На стороне сервера Rails должно быть что-то вроде this .
Кроме того, если вы решите использовать эту библиотеку, вы должны прочитать ограничения, упомянутые в документации:
- Библиотека синхронизации синхронизируется по степени детализации каждого объекта.Он не сохраняет точные изменения для каждого отдельного свойства, поэтому могут возникать конфликты, которые необходимо разрешить
- Он не синхронизирует отношения «многие ко многим»
- Обработка ошибок не реализована
- Удаление не поддерживается, но, возможно, вы можете обойти проблему, используя «удаленный» флаг