Почему Rails не десериализует мое поле? - PullRequest
2 голосов
/ 30 октября 2009

Я использую Классификатор: Байес как часть класса модели. Я настроил класс для сериализации классификатора в БД.

class Foo < ActiveRecord::Base
  serialize :classifier
end

Ямл появляется в БД просто отлично после некоторой тренировки и сохранения объекта.

Но когда я запрашиваю класс, instance.classifier представляет собой строку

@f = Foo.find(params[:id])
@f.classifier.class   # is String

У меня сложилось впечатление, что Rails / ActiveRecord волшебным образом десериализует мой классификатор для меня. Есть какие-то настройки, которые мне нужно настроить, или я что-то неправильно понимаю?

1 Ответ

2 голосов
/ 30 октября 2009

В прошлом мне приходилось добавлять имя класса в метод args ...

class Foo < ActiveRecord::Base
  serialize :classifier, Classifier::Bayes
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...