hasMany 関係の 1 つがサーバーに POST を返していません。双方向の関係をどのようにモデル化することになっていますか?
関連するオブジェクトは次のとおりです。
Encompass.Selection = DS.Model.extend({
text: DS.attr('string'),
submission: DS.belongsTo('submission', {inverse: 'selections'}),
});
Encompass.Submission = DS.Model.extend({
shortAnswer: DS.attr('string'),
selections: DS.hasMany('selection'),
testing: DS.hasMany('folder'),
workspaces: DS.hasMany('workspace'),
});
およびコントローラー アクション:
testing2: function() {
var submission = this.get('model');
console.log(submission.get('selections.length'));
var newSelection = this.get('store').createRecord('selection', {
text: 'testing2 selection' + new Date().getMilliseconds(),
submission: submission,
coordinates: 'bogus coords',
workspace: this.get('currentWorkspace')
});
//newSelection.save();
console.log(submission.get('selections.length'));
submission.save();
},
testing2 アクションを実行すると、コンソールには、提出物に最初に 1 つの選択肢があり、次に 2 つ目の選択肢があることが示されます。メソッドはsave()
投稿をトリガーしますが、選択オブジェクトがありません:
{
submission: {
shortAnswer: "short",
testing: [],
workspaces: ["5271d0147205f15e31000001"]
}
}
逆マッピングを削除して追加しようとしました。奇妙な部分は、他の hasMany 関係が機能することです。
機能することがわかった唯一のことは、submission
からフィールドを削除することSelection
です。