【发布时间】:2016-03-30 22:50:06
【问题描述】:
关于这个主题的许多其他帖子都有 2 年以上的历史了,所以这里有一个可能很简单的问题。
我正在使用 Ember 数据关系让“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 检查器查看“bizinfo”数据对象,我会在 belongsTo 选项卡下看到以下内容:
ownedBy : <(subclass of Ember.ObjectProxy):ember1053>
这是我提交操作的代码:
submit() {
let model = this.currentModel;
console.log(model.ownedBy);
console.log(`what does the model look like?`);
console.log(model.toJSON());
model.validate().then(({model, validations}) => {
if (validations.get('isValid')) {
this.setProperties({
showAlert: false,
isRegistered: true,
showCode: false
});
let success = (response) => {
console.log(`Server responded with ${response.toJSON()}`);
};
let failure = (response) => {
console.log(`Server responded with ${response}`);
};
model.save().then(success, failure);
} else {
this.set('showAlert', true);
}
this.set('didValidate', true);
}, (errors) => {
console.log(`errors from failed validation: ${errors}`);
});
},
所以这是第一个 console.log 语句的结果:
ComputedProperty {isDescriptor: true, _dependentKeys: undefined, _suspended: undefined, _meta: Object, _volatile: false…}
当我查看 model.toJSON() 日志时,我看到了
ownedBy: null
谁能看到这里出了什么问题?是创建记录语句吗?我尝试了很多不同的排列方式(例如只提交 id 作为 'user' 参数。
【问题讨论】:
标签: ember.js ember-data