Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js TypeError:无法读取属性';typeKey';未定义的_Ember.js_Ember Data - Fatal编程技术网

Ember.js TypeError:无法读取属性';typeKey';未定义的

Ember.js TypeError:无法读取属性';typeKey';未定义的,ember.js,ember-data,Ember.js,Ember Data,我有一个模型用户,有很多关系 { username: DS.attr('string'), challenges: DS.hasMany('challenge', {async: true, inverse: 'author'}), trials: DS.hasMany('trial',{async: true, inverse: 'user'}), arenasTried: DS.hasMany('arenaTrial',{async: true, inverse: '

我有一个模型用户,有很多关系

{
   username: DS.attr('string'),
   challenges: DS.hasMany('challenge', {async: true, inverse: 'author'}), 

  trials: DS.hasMany('trial',{async: true, inverse: 'user'}),
  arenasTried: DS.hasMany('arenaTrial',{async: true, inverse: 'user'}),

  groups: DS.belongsTo('group',{async: true, inverse: 'founder'}),
  group: DS.hasMany('group',{async: true, inverse: 'members'})
}
我的“/api/users”路由返回

 {
   users: [{
    _id: "53fcd802647d05af65227306"
    arenasTried: [53fcde1006c57af668f39e49]
    challenges: []
    email: "st@email.com"
    exp: 1
    group: null
    groups: []
    role: "student"
    rp: 0
    trials: [53fcde1006c57af668f39e4a, 53fcde1006c57af668f39e4b]
    username: "stud"
 }, ...]
}


我得到一个TypeError:无法读取未定义的属性“typeKey”

在堆栈跟踪之后,我首先在弹出未定义值的地方抛出一个断点。 我注意到这不是第一次发生,必须单击resume(恢复)几次,因为缺少stop before exception(在异常发生之前停止)选项,我必须计算错误发生之前的次数,并在错误发生之前停止一个值

每次我环顾四周,这使我能够找出factory.typeKey通常与关系有关,所以我开始查找堆栈跟踪,直到我发现当key='groups'在第11750行:
data[key]=store.recordForId(id.type,id.id)id.type未定义

首先,我认为这可能与组数组为空有关,但challenges也是一个空数组,因此为了进行实验,我更改了JSON响应以仅返回challenges,并且没有抛出任何错误

因为我从另一个问题中了解到typeKey错误与ember数据有关,得到了它没有预料到的东西,我知道它确实与我定义组关系的方式有关,而且我确实注意到我颠倒了组和组的定义,当团体成为一个归属者而不是一个有很多关系的人是例外时,我改变了它,它起了作用