parse-platform - 更改 PFObject 上的 ACL 不会持续到 Parse Server
问题描述
ACL
当我保存对on a的更改PFObject
(在这种情况下,使其可公开写入)时,完成块成功运行,但更改实际上并未保存到服务器。重新获取对象,或通过 Parse Dashboard 查看它,表明ACL
更改没有持久化。事实上,我已经通过服务器日志验证 Parse 服务器甚至从未收到请求。
// first fetch an object from the parse server, then...
print("before: \(object.acl?.hasPublicWriteAccess)") // "false"
object.acl?.hasPublicWriteAccess = true
object.saveInBackground { (success, error) in
// confirm that success is true and error is nil
print("after: \(object.acl?.hasPublicWriteAccess)") // "true" - object is updated client-side
// now, re-fetch the same object or check it in Parse Dashboard. It is not saved as publicly editable.
}
解决方案
更改对象的ACL
时,对象本身不会被标记为“脏”,因此保存它不会导致对服务器的请求。您可以通过isDirty
在更改ACL
.
这与其他PFObject
s 相同 - 对指针属性的更改不会将父对象标记为脏。这通常不会遇到,因为简单地保存指针对象本身是很自然的。由于没有PFACL.save()
函数,我们可以改为重新设置acl
对象的属性以确保它被标记为脏:
object.acl?.hasPublicWriteAccess = toggle.isOn
object.acl = object.acl
object.saveEventually()
可以在这个问题中找到对此的更多讨论。
推荐阅读
- r - colMeans(x, na.rm = TRUE) 中的错误:“x”必须是数字
- pandas - 来自列表元素的熊猫新数据框
- reactjs - 为什么反应'stl-viewer'没有加载我的私人自定义python烧瓶api提供的stl文件
- python - Python - 替换字符串的一部分
- rust - 有没有办法为 x32 ABI 构建 Rust?
- node.js - Twilio 11200 错误 - HTTP 检索失败
- amazon-web-services - 将文件 (csv) 的 FTP 自动传输到 Amazon S3 存储桶
- python - Tkinter 中的匿名函数 - Python
- rust - 我们可以修改 execute around idiom 以使用可变的 self 吗?
- postgresql - 无法通过 unix 套接字连接到 postgres