2009-10-30 3 views
2

J'utilise le Classifier:Bayes dans le cadre d'une classe de modèle. J'ai la classe mis en place pour sérialiser le classificateur à la DB.Pourquoi Rails ne désérialisera-t-il pas mon champ?

class Foo < ActiveRecord::Base 
    serialize :classifier 
end 

Le yaml apparaît dans la base de données juste après un certain temps d'apprentissage et de sauvegarde de l'objet.

Mais quand je fais une recherche pour la classe, instance.classifier est une chaîne

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

J'avais l'impression que Rails/ActiveRecord serait magique désérialiser mon classificateur pour moi. Y a-t-il un réglage que je dois modifier ou est-ce que j'ai mal compris quelque chose?

Répondre

2

Dans le passé, j'ai dû ajouter le nom de la classe à la méthode args ...

class Foo < ActiveRecord::Base 
    serialize :classifier, Classifier::Bayes 
end 
Questions connexes