1
我有一个活动记录模型,它有一个名为configuration
的文本类型列。这列被序列化与定制类,像这样:Rails序列化不能正确地转储散列
class MyModel < ApplicationRecord
serialize :configuration, MySerializer
end
类MySerializer
有以下类方法:
def dump(configuration)
configuration.to_json if configuration
end
def load(configuration)
obj = new
obj.json_hash = JSON.parse(configuration) if configuration.present?
obj
end
这个实例化类MySerializer
与ATTR访问json_hash
的一个实例。
现在,这里的问题,我在做:
MyModel.create(configuration: {"key" => 1})
一旦我做MyModel.first
,我得到这个:
...
configuration:
#<MySerializer:0x00000007faa558
@json_hash={"json_hash"=>{"key" => 1}
我期待得到的东西,如:
@json_hash = {"key" => 1}
任何想法为什么我会得到重复密钥json_hash
里面的attr访问器@json_hash
?
谢谢!