错误:没有找到关系的模型

时间:2014-08-29 06:24:34

标签: ember.js ember-data

我有一个模特

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的模型,我指定成员是用户关系,为什么呢?

1 个答案:

答案 0 :(得分:0)

在堆栈跟踪之后,我发现错误在第3937行附近开始:var type = store.modelFor(typeName);

我添加了一个断点并开始跟踪

我注意到这段代码重复了上一行'members''member'中单一化的响应,作为模型类型。

我意识到ember-data可能期望一个不包含关系名称的响应,而是要加载的模型类型。所以我将响应更改为返回用户而不是成员,并且工作正常。

显然,响应应该包含模型而不是关系,这可能会误导ember指南,因为在示例中,关系是以模型命名的(后期评论)