【发布时间】:2017-05-25 18:22:34
【问题描述】:
我有一个使用 ember-pouch 适配器进行本地和远程存储的 ember-data 应用程序。
当belongsTo 端是多态时,我无法加载hasMany 关系。我在hasMany 一侧使用了async: true/false 和donstsave: true/false 选项,但无济于事。
设置:
-
post可以有多个comments。 -
comment可以有多个comments。 -
comment属于commentable。
// app/models/post.js
import DS from 'ember-data';
import { Model } from 'ember-pouch';
export default Model.extend({
DS.hasMany('comment', { inverse: 'commentable' });
});
// app/models/comment.js
import DS from 'ember-data';
import { Model } from 'ember-pouch';
export default Model.extend({
DS.belongsTo('commentable', { polymorphic: true });
DS.hasMany('comment', { inverse: 'commentable' });
});
问题
调用post.get('comments') 不会加载任何内容。但是,如果 cmets 被单独加载到 store 中,那么post 能够正确渲染 cmets:
// In the console (being mindful that `post.get('comments')` returns a promise)
const post = store.findRecord('post', '123');
post.get('comments').get('length'); // => 0
store.findAll('comment');
post.get('comments').get('length'); // => 12
【问题讨论】:
-
你有解决办法吗?
-
我没有。不久之后,我提交了该项目,但从未解决。我很想听听你是否知道。
标签: ember.js ember-data couchdb pouchdb relational-pouch