У меня есть объект, который я хотел бы сериализовать в JSON, и я пытаюсь использовать для этого модуль ActiveModel::Serialization::JSON. Мой метод атрибутов выглядит примерно так:
class MyClass
include ActiveModel::Serializers::JSON
def attributes
{
'attr1' => nil,
'attr2' => nil,
'object1' => nil,
'object2' => nil
}
end
Это работает нормально, пока я не попытаюсь запустить JSON.parse(myclass_instance.as_json.to_s)
; Я получаю эту ошибку, связанную с внутренними объектами в MyClass:
JSON::ParserError: 757: unexpected token at '{"object1"=>#<MyClass::object1_field1>...}'
Как я могу указать свои внутренние объекты в методе атрибутов, чтобы этого не произошло?