我在迁移中将属性data
设置为JSONB类型:
t.jsonb :data, null: false, default: {}
尝试保存以下内容时:
my_object.data = [1..3, 5..7]
my_object.save
范围转换为字符串:
my_object.data
=> ["1..3", "5..7"]
有没有办法处理带有JSONB的范围数组?
答案 0 :(得分:1)
如果您只存储范围,则可以覆盖data
class MyObject < ActiveRecord::Base
def data
super.map do |str|
Range.new(*str.split("..").map(&:to_i))
end
end
end