【发布时间】:2016-08-12 22:34:29
【问题描述】:
我有一个 jsonb 字段,无论出于何种原因,当我调用该字段时,它会以字符串形式返回。这是迁移:
class CreateConferences < ActiveRecord::Migration[5.0]
def change
create_table :conferences do |t|
t.references :user
t.string :name
t.jsonb :payload, default: '{}'
t.jsonb :processed_payload
t.timestamps
end
end
end
如果我创建一个新会议 (Conference.create(user: user, name: 'test', payload: '{}')),然后获取它作为字符串返回的有效负载。我在这里错过了什么??
显然,根据this issue,这现在是 Rails 中的“预期行为”。现在不知道如何使这项工作......
猜我需要在每次请求后调用 JSON.parse() 吗?
【问题讨论】:
-
所以你现在应该说
t.jsonb :payload, default: {},而你最终在数据库中得到了一个奇怪的默认值?\d conferences从内部psql到底说了什么?
标签: ruby-on-rails json postgresql