gpt4 book ai didi

ruby-on-rails - 使用 ActiveRecord 更新 Postgres JSON 字段

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

update 与 json 字段一起使用的最佳方法是什么。我希望我的 JSON 字段接受新键或更新现有键,但不覆盖整个字段。 ActiveRecord 在更新更改的字段方面做得很好,但我不明白如何将其应用于 json 记录中的子字段...

it 'can update settings with a plain object' do
integration = Integration.create(
name: 'Name',
json_settings: {
key1: 1,
key2: 2
}
)
integration.update(
settings: { key2: 2 }
)
// json_settings is now { "key2": 3 } but I want
// { "key1": 1, "key2": 3 }
expect(integration.json_settings['key1']).to eq('1') // fails
end

最佳答案

您的代码应如下所示:

it 'can update settings with a plain object' do
integration = Integration.create(
name: 'Name',
json_settings: {
key1: 1,
key2: 2
}
)
integration.json_settings = integration.json_settings.merge { key2: 3 }
integration.save
expect(integration.json_settings['key1']).to eq(1)
end

关于ruby-on-rails - 使用 ActiveRecord 更新 Postgres JSON 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29307099/

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