私はember-dataでモデル化した.Net WebAPIからのペイロード(追加フィールド)を持つ多対多の関係テーブルを持っています。このテーブル/リレーションシップにレコードを追加すると、ユーザーがブラウザページの更新を実行するまで、メモリ内に保持される追加レコードが作成されます。私のモデルは次のとおりです。Ember-dataはメモリ内に余計なレコードを作成します
// student.js
export default DS.Model.extend({
name: DS.attr('string'),
studentsClasses: DS.hasMany('student-class')
})
// class.js
export default DS.Model.extend({
desc: DS.attr('string'),
studentsClasses: DS.hasMany('student-class')
})
// student-class
export default DS.Model.extend({
studentId: DS.attr('string'),
student: DS.belongsTo('student'),
class: DS.belongsTo('class'),
grade: DS.attr('number') // payload
})
ここでは、多くのレコードを作成して追加するためのコードです。
let newRecord = this.get('store').createRecord('student-class');
newRecord.studentId = 1;
newRecord.grade = 3;
class.get('studentsClasses').pushObject(newRecord);
新しいレコードを作成して、コメントを追加し、私は同じページに戻ってくるとclass.studentClasses配列内の余分なレコードがあるまですべてが、画面上でよさそうだます。
なぜember-dataがメモリに余分なレコードを作成しているのか、どうすればいいのですか? ありがとう