我试图创建一个新帖子,我想在创建它时为该帖子添加一些标签。
所以,让我说我有一个数组中的标记对象列表。
顺便说一下,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
请求中,发送的数据tags
为tags:[]
空白数据
标签已存在于控制器的selectedTags
变量中。这些标签直接来自服务器。
所以我不知道为什么这不起作用。
如果有人有想法,那就太好了。
答案 0 :(得分:1)
post.get('tags')
是异步调用,因此它将在所述方案中的save
之后发生,并且应该更改为:
var self = this;
post.get('tags').then(function(tags) {
tags.pushObjects(self.get('selectedTags'));
post.save().then(...);
});