gpt4 book ai didi

javascript - Ember 数据在一些实例被添加到关系后对模型进行一般搜索

转载 作者:行者123 更新时间:2023-11-30 06:31:40 27 4
gpt4 key购买 nike

我有这些基本模型( super 简化以显示问题):

App.Alert = DS.Model.extend({
recipients: DS.hasMany('App.Person')
})

App.Person = DS.Model.extend({
name: DS.attr("string")
})

然后我尝试执行以下操作:

var alert = App.Alert.createRecord()
var persons = App.Person.find({page: 1, pageSize: 10})
alert.get("recipients").pushObjects(persons.toArray())
var persons2 = App.Person.find({page: 1, pageSize: 10})

此时我得到:

Uncaught Error: Attempted to handle event `loadedData` on <App.Person:ember592:121878738770883> while in state rootState.loaded.updated.uncommitted. Called with undefined 

所以看起来如果我将一个对象添加到一个关系中,它就会变为未提交状态。问题是,当我有一个带有 hasMany 的模型时,我应该如何进行,并且我希望显示一个搜索对话框,用户可以在其中添加更多人到警报中?搜索通常会导致加载一些已经添加到警报中的对象,因此是脏的。

当前的解决方法是只保留将要添加为 Controller 中的收件人的内容,并在保存之前添加它们。但是,如果我这样做,并且服务器不批准提交,我只需要回滚收件人以允许用户继续编辑。

管理 hasMany 关系的方法是什么,您还希望让用户搜索相同类型的记录。

最佳答案

如何通过调用 App.Person.find 格式化响应?

似乎没有正确返回响应(缺少 key 或不正确的 JSON 格式)

Called with undefined 建议一个 null 或不可序列化的返回对象。

关于javascript - Ember 数据在一些实例被添加到关系后对模型进行一般搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17154059/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com