gpt4 book ai didi

ember.js - ember data 1.0.x 双向时不保存 hasMany 关系

转载 作者:行者123 更新时间:2023-12-02 19:45:16 26 4
gpt4 key购买 nike

hasMany 关系之一未 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'),
});

和 Controller 操作:

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个选择,然后是第二个。 save() 方法触发了一个帖子,但它缺少选择对象:

  {
submission: {
shortAnswer: "short",
testing: [],
workspaces: ["5271d0147205f15e31000001"]
}
}

我尝试过删除和添加逆映射。奇怪的部分是其他 hasMany 关系起作用。

我发现唯一有效的方法是从选择中删除提交字段。

最佳答案

我也有同样的问题。我尝试删除 DS.belongTo 语句,但没有效果。我使用模型的“保存”功能向服务器触发消息。我想知道是否有另一种触发方式可能会导致将不同的消息(带有 hasMany 记录)发送到服务器。

关于ember.js - ember data 1.0.x 双向时不保存 hasMany 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19716852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com