错误:没有模型被发现的关系
问题描述:
我有一个模型错误:没有模型被发现的关系
Group = DS.Model.extend({
name: DS.attr('string', {defaultValue:"new group"}),
founder: DS.belongsTo('user', {async: true, inverse: 'groups'}),
members: DS.hasMany('user', {async: true, inverse: 'group'}),
});
当我加载它,我从服务器响应与
{
"group":{
"_id":"53ff8d82588266c710cf7a6c",
"founder":"53fc31ac739be05911b94810",
"members":[],
"name":"new group"
},
"members":[]
}
导致的错误:没有模型被发现的'member'
我不明白为什么它试图找到一个叫做member的模型,我指定成员是用户关系,那为什么?
答
继堆栈跟踪我发现,错误的地方开始围绕行3937:var type = store.modelFor(typeName);
我添加了一个断点,并开始跟踪
我注意到,这段代码在前面的迭代响应单个化的作为模型类型的线'members'
到'member'
。
我意识到,ember-data可能期望的响应不包含关系名称,而是要加载的模型类型。所以我改变了回复用户而不是成员,它的工作。
因此很明显的响应应该包含模型不是关系,这是从灰烬导误导,因为本例中的关系模型而得名(以发表评论)