Всем привет.
Есть модель. У нее есть поле options, типа json. В базе это поле может быть null.
Я хочу, чтобы в рельсах, если в базе это поле равно null, то мне бы все равно возвращался пустой Hash.
Написал вот такой метод (в модели)
def options
self[:options] || {}
end
Но, после этого, не работает вот такая конструкция:
instance.options[:some_key] = some_value
прямое присваивание (
instance.options = {some_key: some_value}
) работает нормально.
При дебаге и вижу, что при присваивании ключа (которое не работает), выполнение заходит в мой переопределенный метод. Но ведь в нем идет просто получение значения. Не могу понять, как надо сделать, чтобы все работало :)