我有一个模特
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的模型,我指定成员是用户关系,为什么呢?
答案 0 :(得分:0)
在堆栈跟踪之后,我发现错误在第3937行附近开始:var type = store.modelFor(typeName);
我添加了一个断点并开始跟踪
我注意到这段代码重复了上一行'members'
到'member'
中单一化的响应,作为模型类型。
我意识到ember-data可能期望一个不包含关系名称的响应,而是要加载的模型类型。所以我将响应更改为返回用户而不是成员,并且工作正常。
显然,响应应该包含模型而不是关系,这可能会误导ember指南,因为在示例中,关系是以模型命名的(后期评论)