我一直在努力让这项工作无数个小时。我无法在网上找到我能理解的答案。像我这样的其他初学者也可能遇到同样的问题,所以我发布了我的问题:
我的Ember应用中出现此错误: 未捕获错误:断言失败:您只能在此关系中添加“用户”记录
我正在尝试创建“Cond”的新记录。但是我无法将'user'对象添加到新创建的Cond实例的user属性中。但是,从Chrome调试工具,我可以看到'user'不是null或未定义。这是崩溃的控制器:
App.BookController = Ember.Controller.extend({
needs: 'user',
user: Ember.computed.alias("controllers.user"),
frequency: ['Every Minute', 'Every Hour', 'Every Day', 'Every Week', 'Every Month', 'Every Quarter', 'Every Year', 'Continuous'],
selectedFrequency: 'Every Month',
actions: {
createCond: function() {
var user = this.get('user');
var Cond = this.store.createRecord('Cond', {
name: this.get('name'),
frequency: this.get('selectedFrequency'),
description: this.get('description'),
createdDate: new Date(),
});
Cond.set('user', user); // Application crash her
user.addObject('Conds', Cond);
Cond.save().then(function() {
user.save();
console.log('new Cond created');
});
}
}
});
感谢您的帮助!
答案 0 :(得分:1)
您抓取用户控制器,该模型是控制器上的属性。
将别名更改为:
user: Ember.computed.alias("controllers.user.model"),
或将您的获取更改为:
var user = this.get('user.model');