Я пытаюсь использовать ember-pouch с проектом Ember.Синхронизация с удаленного pouchdb работает, потому что записи из удаленного БД отображаются в хранилище браузера, как показано здесь ...
...но this.store.findAll('post')
в маршруте все равно ничего не возвращает.Насколько я могу судить, адаптер, маршрут, модель, шаблон все в порядке, и findAll должен возвращать данные из локальной базы данных.Есть идеи, почему он ничего не возвращает?
// adapters/application.js
// ...
function createDb() {
let localDb = 'local_pouch_posts';
assert('emberPouch.localDb must be set', !isEmpty(localDb));
let db = new PouchDB(localDb);
let remoteDb = new PouchDB('http://localhost:5984/posts_for_demo');
db.sync(remoteDb, {
live: true,
retry: true
});
return db;
}
export default Adapter.extend({
init() {
this._super(...arguments);
this.set('db', createDb());
}
});
// models/post.js
import Model from 'ember-pouch/model';
import DS from 'ember-data';
const {
attr
} = DS;
export default Model.extend({
title: attr(),
author: attr()
});
// routes/index.js
import Route from '@ember/routing/route';
export default Route.extend({
model() {
return this.store.findAll('post');
}
});
Вот код на тот случай, если кто-то захочет его увидеть или попробовать сами.
https://github.com/chroaster/ember-pouch-cant