gpt4 book ai didi

ruby-on-rails - 检测 PostgreSQL json 字段的变化

转载 作者:行者123 更新时间:2023-11-29 11:24:24 24 4
gpt4 key购买 nike

我正在使用 json 字段在我的一个模型中存储一些额外的参数。

它工作得很好,除了它没有检测到我在使用方括号访问数据时所做的更改:

2.1.1 :002 > p = Payments.last
=> {...}
2.1.1 :003 > p.params.keys
=> ["receipt_data"]
2.1.1 :004 > p.params['verification_data'] = 'test'
=> "test"
2.1.1 :005 > p.params.keys
=> ["receipt_data", "verification_data"]
2.1.1 :006 > p.params_changed?
=> false
2.1.1 :007 > p.save
(0.2ms) BEGIN
(0.2ms) COMMIT
=> true
2.1.1 :008 > Payment.last.params.keys
Payment Load (0.5ms) SELECT "payments".* FROM "payments" ORDER BY "payments"."id" DESC LIMIT 1
=> ["receipt_data"]

我如何强制它保存更改?

最佳答案

强制,在任何更新之前。你可以说:

p = Payments.last
p.params_will_change!
p.params['verification_data'] = 'test'
p.save

顺便说一句,ActiveRecord 应该自动处理脏跟踪。所以,如果您可以在 github 上推送一个重现此问题的应用程序,我可以尽力提供帮助。

关于ruby-on-rails - 检测 PostgreSQL json 字段的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23464905/

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