Mon modèle a un champ serialize :settings
. Il est également validé par une validation personnalisée. Je veux maintenant initialiser ce champ quand un objet est créé (self.settings = Settings.new
). J'ai donc essayé dans un rappel after_initialization
. Mais cela me donne Can't convert Settings into String
. La même chose se produit lors de l'utilisation du rappel before_validation
. Mais lorsque vous affectez le paramètre Setting.new manuellement après la construction de l'objet, il n'y a aucun problème. Pourquoi ne puis-je pas utiliser ces rappels pour définir les champs de sérialisation? (Rails3)Où initialiser un champ de sérialisation validé?
1
A
Répondre
0
Assurez-vous que votre champ :settings
est en fait de type :text
plutôt que :string
. Il peut vous aider à vérifier: something similar here
Intéressant - que se passe-t-il si vous essayez de l'initialiser avec quelque chose comme un Hash ou un Array? – Cory
Cory a raison de demander cela. aussi, que se passe-t-il si vous faites ce YAML :: dump (Settings.new) – ffoeg