gpt4 book ai didi

javascript - Ember Data- 在 hasMany 关系中创建记录

转载 作者:行者123 更新时间:2023-11-30 07:25:15 25 4
gpt4 key购买 nike

我正在使用 Ember Data beta2,并且我设置了 hasMany 关系。

创建子记录时,是否必须在父记录的相应属性上使用 pushObject?

在查看文档时,我觉得我需要正确设置记录的父属性并保存它。

我是这样做的:

    addPlugin: function() {
//get the value
var title = this.get('newPluginName');
if (!title.trim()) { return; }

var plugin = {
name: title,
category: this.get('model'),
url: ''
};
var plugin = this.store.createRecord('plugin', plugin);
plugin.save();

//clear the text field
this.set('newPluginName', '');
$("#new-plugin").blur();
}

我在 Chrome 的 Ember 检查器中看到新创建的记录,它不是脏的,但它不存在于父列表中,刷新后它就消失了。

最佳答案

对我有用的是:

var child = this.get('store').createRecord('child', {
name: 'New Child',
parent: parent
};
child.save();

parent.get('children').addObject(child);
// My backend automatically adds the inverse of relationships when saving
// the child, so I don't need to save the parent separately

我不知道 addPlugin 属于什么,但是如果您从 ChildrenArrayController 创建子项,您可能需要包含

needs: ['parent']

在你的 Controller 中。在创建 child 并将其添加到 parent 之前,您需要调用:

var parent = this.get('controllers.parent');

关于javascript - Ember Data- 在 hasMany 关系中创建记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18917199/

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