问题描述
从 3.9 升级到 Ember 3.21.2 后,重新加载 hasMany 关系不再正常工作。例如,以下为用户获取可编辑内容的模型钩子不再更新用户模型。
model(params) {
const { user } = this.modelFor('application')
const requestParams = this.mapParams(params)
return RSVP.hash({
user,results: user.hasMany('editableContents').reload({
adapterOptions: requestParams
})
})
},
它仍然会触发请求,但它会为每个请求加载相同的内容,即使在请求参数已更改之后也是如此。最初将请求发送到 /users/:user_id/editable-contents?filter=.....
。
更改适配器选项后,它将对每个内容的请求发送到 /contents/:content_id
我们认为 .reload() 函数是罪魁祸首,因为我们发现 .hasMany('editableContents').reload() 没有跳转到我们的应用程序适配器中的 findHasMany() 钩子,而是调用了 findRecord () 每条记录。
我们正在使用:
"ember-cli": "~3.21.2","ember-data": "~3.21.0"
感谢任何帮助。谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)