Я использую MongoMapper 0.9.1 в Rails 3.0.9, и при попытке сохранить объект пользовательского класса в БД выдает следующую ошибку:
BSON :: InvalidDocument (Невозможно сериализовать объект класса Signature в BSON.)
Мое приложение позволит пользователям подписывать документы, и эти подписи должны быть сохранены в пользовательском классе. Я просто объявил класс Signature перед классом Doc, который собирается его хранить:
class Signature
@value
@date
@user
def self.to_mongo(value)
value.to_a
end
def self.from_mongo(value)
Signature.new(value || [])
end
end
class Doc
# ...
Неважно, если я закомментирую методы to_mongo или from_mongo, всегда выдается исключение, указанное выше, когда я хочу проверить его, вызывая его из контроллера через
doc = Doc.new {:signature => Signature.new}
Понятия не имею, почему это не сработает в моем случае. Если у кого-то из вас есть идея, было бы здорово, если бы вы мне помогли. Заранее большое спасибо!
С уважением,
Себастьян