- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我正在处理的项目的 session 系统中,我在记录上调用 unloadRecord
,如下所示:
user.unloadRecord();
我没有调用 destroyRecord
是因为我想手动从存储中卸载记录而不将其保存到服务器。以这种方式从商店中删除记录非常有效,但是当我登录到同一个帐户时——这需要从服务器加载相同的用户记录并使用 store.push
手动将其插入到商店中--我收到以下错误消息:
Uncaught Error: Assertion Failed: calling set on destroyed object ember.js:3902
同样,这发生在以下行 after 调用 user.unloadRecord()
:
var user = this.store.push("user", response.user);
其中 response
是由 POST
请求返回到/session 的 JSON 负载,此处显示了一个示例:
{
"sessionToken":"f7a7247467b08818ead27441838df30fed0e0a79",
"user": {
"id":"5499bf5b7f25680761c9df7a",
"email":"test@gmail.com",
"accounts": [/* [account ids] */],
"syncPaths":[/* [sync path ids] */]
}
}
有什么办法可以避免这个错误吗?
更新:
为了响应查看更多代码的请求,here是包含 unloadRecord
调用的文件,here是包含 store.push
调用的文件。
更新 2:我包含了一个 JSON 有效负载的示例,该示例是根据请求向/session 发出的 POST 请求返回的。这是用户
的模型:
DS.Model.extend({
email: DS.attr("string"),
accounts: DS.hasMany("account"),
syncPaths: DS.hasMany("syncPaths")
});
最佳答案
尽管使用 unloadAll()
,但我一直在为类似的事情而苦苦挣扎。其他人建议这样做,所以也许它会对您有所帮助。
在您的源代码中,ember.js
或 ember.debug.js
如果在本地运行,找到这一行:
Ember['default'].assert('在销毁对象上调用 set', !obj.isDestroyed);
并将其更改为:
Ember['default'].assert("调用 set ('"+ keyName + "') on destroyed object", !obj.isDestroyed);
然后您将看到正在设置的属性,它可以帮助您追踪它在代码中的什么位置挂起。对我来说,keyName
只是“长度”,不是很有用。
关于javascript - 调用 unloadRecord 后 Ember.js "calling set on destroyed object"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27746481/
在尚未持久化到后端的路由模型的上下文中(它的 id 仍然是 null,我们还没有调用 save),如果我们想丢弃记录,是否更正确使用 unloadRecord或 destroy ? 上下文:当表单被转
在我正在处理的项目的 session 系统中,我在记录上调用 unloadRecord,如下所示: user.unloadRecord(); 我没有调用 destroyRecord 是因为我想手动从存
我是一名优秀的程序员,十分优秀!