Mar*_*ejo 4 postgresql json ruby-on-rails
我有一个来自我的活动管理员的json字符串 "{\"en\":\"Lorem\"}"
我想将其保存在question.namepostgres jsonb类型的字段中。
class Question < ActiveRecord::Base
serialize :name
end
# db/schema.rb
create_table "preset_questions", force: :cascade do |t|
t.jsonb "name", default: {}
end
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
question.update(name:"{\"en\":\"Lorem\"}")
question.update(name:JSON.parse("{\"en\":\"Lorem\"}"))
Run Code Online (Sandbox Code Playgroud)
两者的结果:
question.name
=> nil
Run Code Online (Sandbox Code Playgroud)
通过删除使它起作用serialize :name。鉴于列类型为,Rails似乎已经知道该怎么做jsonb
class Question < ActiveRecord::Base
end
# db/schema.rb
create_table "preset_questions", force: :cascade do |t|
t.jsonb "name", default: {}
end
question.update(name:"{\"en\":\"Lorem\"}")
question.update(name:JSON.parse("{\"en\":\"Lorem\"}"))
Run Code Online (Sandbox Code Playgroud)
都回来了
question.name
=> {"en"=>"lorem", "id"=>"ipsum"}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5236 次 |
| 最近记录: |