在 Ember js 中有许多关联
hasMany association in Ember js
app/models/card.js
export default Model.extend({
title: attr('string'),
description: attr('string'),
users: hasMany('user')
});
app/models/user.js
export default Model.extend({
email: attr('string'),
name: attr('string')
});
app/routes/card/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
之间创建关联。
其他信息:
回购 link:https://github.com/ghoshnirmalya/hub-client
Ember : 2.6.1
Ember 数据:2.6.1
您定义一张卡有多个用户:
users: hasMany('user')
因此您可以将 'users' 设置为单个用户:
newCard.set('users', user);
因此,您可以将 hasMany
更改为 belongsTo
,或者将 'users' 设置为一个 user
用户数组:[user]
app/models/card.js
export default Model.extend({
title: attr('string'),
description: attr('string'),
users: hasMany('user')
});
app/models/user.js
export default Model.extend({
email: attr('string'),
name: attr('string')
});
app/routes/card/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
之间创建关联。
其他信息:
回购 link:https://github.com/ghoshnirmalya/hub-client
Ember : 2.6.1
Ember 数据:2.6.1
您定义一张卡有多个用户:
users: hasMany('user')
因此您可以将 'users' 设置为单个用户:
newCard.set('users', user);
因此,您可以将 hasMany
更改为 belongsTo
,或者将 'users' 设置为一个 user
用户数组:[user]