创建具有belongsTo关系错误的记录-Ember.js
Creating record with belongsTo relationship error - Ember.js
给定两个模型:Message.js和User.js,当我试图用Ember.js创建一个记录时,我不断地收到以下错误。任何Ember.js向导都知道我的代码可能出了什么问题?
//错误:断言失败:您只能将"用户"记录添加到此关系
App.Message = DS.Model.extend({
title: DS.attr(),
body: DS.attr(),
user: DS.belongsTo('user'),
});
App.User = DS.Model.extend({
first_name: DS.attr(),
last_name: DS.attr(),
email: DS.attr(),
password: DS.attr(),
messages: DS.hasMany('message'),
});
App.NewMessageController = Ember.Controller.extend({
need: ['application'],
thisUserID: Ember.computed.alias('controllers.application.userID'),
actions: {
save: function() {
// Prints -> 'thisUserID' -- all is fine here
console.log('The user id from new-letter is: '+this.get('thisUserID'));
var store = this.store;
//Prints -> <DS.PromiseObject:ember433> -- Strange?
console.log("Checking the store: "+store.find('user', this.get('thisUserID')));
var newMessage = store.createRecord('message', {
title: this.get('title'),
body: this.get('body'),
});
newMessage.save();
// Prints-> Error: Assertion Failed: You can only add a 'user' record to this relationship
var user = store.find('user', this.get('thisUserID')).then(function(user) {
newMessage.set('user', user);
});
}
}
});
我不是向导,但您似乎正在尝试将用户记录设置为一条消息:newMessage.set('user', user);
相反,您应该添加以下消息:user.get('messages').addObject(newMessage);
相关文章:
- 更新Ember.js 2.4中的记录
- Ember.js按名称查找模型项,然后将其添加到现有的不同模型hasMany记录中
- 在ember.js记录上使用toJSON,将其中一个属性设置为null
- Ember.js没有使用共享模板持久化记录
- Ember.js——如何对模型进行控制台日志记录
- 创建具有belongsTo关系错误的记录-Ember.js
- 使用 Ember-Model 创建新记录
- 每当有新记录时,使用 Ember-Model 更新视图
- Ember - 绑定到数组控制器中的过滤列表,然后添加新记录
- 从不同的控制器 Ember.js 向模型添加新记录
- Ember.js 在 App.Route 中指定位置=“历史记录”的 URL 类型时出错
- 将未保存的记录传递到 Ember .js路由
- 在transitionTo之后,Ember.js历史记录不起作用
- 无法在嵌入式应用程序中使用位置历史记录:ember-js
- 搜索Ember数据async hasMany id而不加载所有id记录
- 在Ember.js Ember数据记录数组上迭代
- Ember.js:live更新不适用于#each绑定到存储记录的子集
- Ember-js链接到父记录
- 在不进行HTTP调用的情况下更新Ember Data中的特定记录
- 数据存储在ember中只返回一条记录