Ember数据中的递归父/子关系

时间:2014-04-21 21:47:29

标签: ember.js ember-data

我在使用Ember应用程序更新关系时遇到问题:我有一个node对象,其中包含以下模型定义:

App.Node = DS.Model.extend({
    name: DS.attr(),
    children: DS.hasMany('node', {
        inverse: 'parent',
        async: true
    }),
    parent: DS.belongsTo('node', {
        inverse: 'children',
        async: true
    })
});

然后我在我的新人中做到了这一点。控制器。

add: function() {
    var model = this.get('newModel'),
        rec,
        self = this,
        parent = this.get('model');

    rec = this.store.createRecord('node', model);
    rec.set('parent', parent);
    rec.save().then(function(newrec) {
        parent.get('children').addObject(newrec);
        parent.save().then(function(resolve) {
            self.transitionToRoute('node');
        }, function(reject) {
            console.log("ERR UPDATE PARENT:", reject);
        });
    }, function(err) {
        console.log(
            'Unable to add node "%@": %@.'.fmt(name, err.statusText));
    });
}

如果正确保存子节点(使用POST),会发生什么。 parent属性具有父节点的ID。然后我尝试将新创建的子项添加到父项并保存父项。这适用于(带有PUT)但是孩子们可以使用PUT。从有效负载到服务器的属性完全丢失。我做错了什么?

0 个答案:

没有答案