У меня есть класс, включающий ActiveModel, который должен иметь некоторые «ассоциации», например:
a = ActiveModelClass.new
a.user = User.find(1)
Я просто использую attr_accessor для этого:
attr_accessor :user
### Elsewhere ###
a.user.name # => "Kevin"
Пока все хорошо. Но теперь я хочу сериализовать его в JSON:
json = a.to_json
b = ActiveModelClass.new(ActiveSupport::JSON.decode(json))
Но теперь пользователь является хешем:
b.user.class # => Hash
Как я могу точно восстановить эти "ассоциации" как объекты классов, которыми они изначально были?