在Ember js

时间:2016-07-10 05:50:44

标签: javascript ember.js ember-data ember-cli

应用/模型/ 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

我想在新创建的carduser之间创建关联。

其他信息:

回购链接:https://github.com/ghoshnirmalya/hub-client

Ember:2.6.1

Ember数据:2.6.1

1 个答案:

答案 0 :(得分:1)

您定义了一张卡有很多用户:

users: hasMany('user')

因此,您可以设置'用户'单个用户:

newCard.set('users', user);

因此,您可以将hasMany更改为belongsTo,也可以设置用户'相反,只有一个user用户数组:[user]