Postgresql JSON列为HashWithIndifferentAccess

时间:2014-06-24 14:18:45

标签: ruby json postgresql activerecord ruby-on-rails-4

我有一张名为' my_models'用一个' json'名为' settings'。

的列

我也有以下型号:

class MyModels < ActiveRecord::Base
end

&#39;设置&#39;一个&#39; MyModels&#39;的属性。实例是哈希。

是否可以配置“MyModels”&#39;键入转换&#39;设置的原始列值&#39;到HashWithIndifferentAccess而不是Hash?

1 个答案:

答案 0 :(得分:7)

由于HashWithIndifferentAccess不响应loaddump方法,

单独序列化不会在这里工作,但你可以这样做:

class THEModel < ActiveRecord::Base
  def my_hash_attribute
    read_attribute(:my_hash_attribute).with_indifferent_access
  end
end

另见Custom serialization for fields in Rails