将hasMany项添加到post ember无法正常工作

时间:2014-07-20 23:23:03

标签: ember.js ember-data

我试图创建一个新帖子,我想在创建它时为该帖子添加一些标签。

所以,让我说我有一个数组中的标记对象列表。

顺便说一下,hasMany标签关系是异步的。

这是我的代码

        var post = store.createRecord('post', {
            name: this.get('name'),
            slug: this.get('slug'),
            description: this.get('description'),
        });

        post.get('tags').then(function(post) {
            post.pushObjects(this.get('selectedTags'));
        });

        post.save().then(...);

但在POST请求中,发送的数据tagstags:[]空白数据

标签已存在于控制器的selectedTags变量中。这些标签直接来自服务器。

所以我不知道为什么这不起作用。

如果有人有想法,那就太好了。

1 个答案:

答案 0 :(得分:1)

post.get('tags')是异步调用,因此它将在所述方案中的save之后发生,并且应该更改为:

    var self = this;

    post.get('tags').then(function(tags) {
        tags.pushObjects(self.get('selectedTags'));
        post.save().then(...);
    });