hob*_*key 3 postgresql json ruby-on-rails
我现在一直在玩Rails(4)+ Postgres JSON字段,我注意到如果我做这样的事情
model.json_data = {
field1: "hello",
field2: "world"
}
model.save
Run Code Online (Sandbox Code Playgroud)
它工作正常.但是,如果我这样做
model.update_column(:json_data, {
field1: "hello",
field2: "world"
} )
Run Code Online (Sandbox Code Playgroud)
它不起作用.似乎update_column不会将数据存储为JSON,而只是包含换行符和制表符的字符串.问题是,我希望在after_save回调中生成json_data,因此在更新JSON字段时我不需要重新触发after_save回调.
关于这里可能会发生什么或者如何绕过它的想法?
没关系,我找到了解决方案.
model.update_column(:json_data, {
field1: "hello",
field2: "world"
}.to_json )
Run Code Online (Sandbox Code Playgroud)
事后看来显而易见.
| 归档时间: |
|
| 查看次数: |
1026 次 |
| 最近记录: |