我在保存新记录方面遇到了问题,因为belongsTo关系并未分配给新创建的记录(承诺Promise)。
无论如何,我的后端是轨道,这些是必需的参数:
Parameters: {"photo"=>{"title"=>"Hello word", "image"=>"someimage.jpg", "user_id"=>nil}}
正如您所见,即使我的会话成功返回登录用户ID
,user_id也为零我正在使用ActiveModelAdapter。
灰烬控制器
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端返回没有错误,但是用户的belongs_to关系看起来像这样
user <DS.PromiseObject:ember891>
我似乎也注意到Ember不断添加user_id参数,尽管没有值存在
请注意,由于后端的状态验证,我无法在没有user_id的情况下保存记录,并且它不是删除这些记录的解决方案。
任何解决方案吗?
答案 0 :(得分:0)
试试这个,
this.get('store').findRecord('user', this.get('session.data.authenticated.userId'),{ reload: true }).then(function(user) {
photo.set('user', user);
photo.save();
});