У меня есть что-то вроде этого класса
# json_column :json
class MyClass < ActiveRecord::Base
def name=(val)
json_column[:name] = val
end
def name
json_column[:name]
end
end
Работает нормально, когда я загружаю данные, но если я создаю новый экземпляр типа MyClass.new(name: "foo")
, у меня начинаются проблемы ...
Если я оставлю все как есть, оно будет исключение в name=
, потому что nil не является хешем:).
Если я попытаюсь инициализировать json_column в методе after_initialize
after_initialize { self.json_column ||= {} }
Это также не работает, потому что кажется, что after_initialize
вызывается после установки параметров
У кого-нибудь есть подсказка, как мне решить эту проблему?
Заранее спасибо