保存 belongsTo 关系失败

Saving a belongsTo relationship fails

我在保存新记录时遇到问题,因为 belongsTo 关系没有分配给新创建的记录(承诺一些承诺)。

无论如何,我的后端是 rails,这些是所需的参数:

Parameters: {"photo"=>{"title"=>"Hello word", "image"=>"someimage.jpg", "user_id"=>nil}}

如您所见,user_id 为零,即使我的会话成功 returns 已登录用户 ID

我正在使用 ActiveModelAdapter。

Ember 控制器

  let photo = this.store.createRecord('photo', {
    title: this.get("newModel.title"),
    image: this.get("newModel.image")
  });

  this.get('store').findRecord('user', this.get('session.data.authenticated.userId')).then(function(user){
    photo.set('user', user);
  });

  photo.save();

这失败了,因为通过阅读 ember 文档,您无法将承诺分配为关系 (?!?!?)。 ember 端没有返回任何错误,但是用户的 belongs_to 关系看起来像这样

user <DS.PromiseObject:ember891>

我似乎还注意到 Ember 不断添加 user_id 参数,尽管没有值

请注意,没有 user_id 我无法保存记录,因为后端存在验证,这不是删除这些记录的解决方案。

有什么解决办法吗?

试试这个,

       this.get('store').findRecord('user', this.get('session.data.authenticated.userId'),{ reload: true }).then(function(user) {
            photo.set('user', user);
            photo.save();
        });