应用/模型/ card.js
export default Model.extend({
title: attr('string'),
description: attr('string'),
users: hasMany('user')
});
应用/模型/ user.js的
export default Model.extend({
email: attr('string'),
name: attr('string')
});
应用/路由/卡/ new.js
actions: {
save(title, description) {
const newCard = this.get('store').createRecord('card', {
title,
description
});
this.get('store').findRecord('user', 1).then(function(user) {
newCard.set('users', user);
console.log(newCard);
});
newCard.save().then((card) => {
// go to the new item's route after creating it.
this.transitionTo('card.card', card);
});
}
}
所以,当我保存card
时,它会给我这个错误:
Assertion Failed: You must pass an array of records to set a hasMany relationship
。
我想在新创建的card
和user
之间创建关联。
其他信息:
回购链接:https://github.com/ghoshnirmalya/hub-client
Ember:2.6.1
Ember数据:2.6.1
答案 0 :(得分:1)
您定义了一张卡有很多用户:
users: hasMany('user')
因此,您可以设置'用户'单个用户:
newCard.set('users', user);
因此,您可以将hasMany
更改为belongsTo
,也可以设置用户'相反,只有一个user
用户数组:[user]