Ember.js 未定义成员数据相关键

Ember.js 未定义成员数据相关键,ember.js,ember-data,Ember.js,Ember Data,关于这个话题的许多其他帖子都已经有2年多的历史了,所以这里有一个潜在的简单问题 我正在使用余烬数据关系使“bizinfo”记录属于“用户”记录。看起来很简单,但我现在正经历着最糟糕的时刻 在app/models/bizinfo.js中,我有一句话: 'ownedBy': DS.belongsTo('user') 在我的路线中,我验证并保存模型,我有以下代码: user_id: Ember.computed(function(){ return `${this.get('session.

关于这个话题的许多其他帖子都已经有2年多的历史了,所以这里有一个潜在的简单问题

我正在使用余烬数据关系使“bizinfo”记录属于“用户”记录。看起来很简单,但我现在正经历着最糟糕的时刻

在app/models/bizinfo.js中,我有一句话:

'ownedBy': DS.belongsTo('user')
在我的路线中,我验证并保存模型,我有以下代码:

user_id: Ember.computed(function(){
    return `${this.get('session.data.authenticated.user_id')}`;
  }),

  user: Ember.computed(function(){
    return this.store.findRecord('user', this.get('user_id'));
  }),

  model(params){
    return this.store.createRecord('bizinfo', {'ownedBy': this.get('user')});
  },
此时,如果我进入Ember inspector查看“bizinfo”数据对象,我会在belongsTo选项卡下看到以下内容:

ownedBy : <(subclass of Ember.ObjectProxy):ember1053>
下面是第一条console.log语句的结果:

ComputedProperty {isDescriptor: true, _dependentKeys: undefined, _suspended: undefined, _meta: Object, _volatile: false…}
当我查看model.toJSON()日志时,我看到

ownedBy: null

有人能看到这里出了什么问题吗?是CREATERECORD语句吗?我尝试了很多不同的排列方式(例如仅提交id作为“用户”参数)。findRecord将返回承诺。解决此问题的简单方法是

model(params){
  return this.store.findRecord('user', this.get('user_id')) .
    then(ownedBy => this.store.createRecord('bizinfo', {ownedBy});
}

这将等待
findRecord
解析,然后返回一条新记录,解析值为
ownedBy
属性。

Woohoo!您是Tora san.m(\um)的救生员
model(params){
  return this.store.findRecord('user', this.get('user_id')) .
    then(ownedBy => this.store.createRecord('bizinfo', {ownedBy});
}