私は最近、Rails アプリで ActiveRecord シリアル化メソッドを使用するユーザー向けの「設定」フィールドを追加しました。これは既存のユーザーには問題なく機能しますが、コンソールで新しいユーザー モデルを初期化しようとすると、エラーが発生します。
u = User.new
#=>
ActiveRecord::SerializationTypeMismatch: preferences was supposed to be a Hash, but was a String
移行で次のようなフィールドを追加しました。
add_column :users, :preferences, :text, :default => { :allows_public_contributions => false }.to_yaml
モデルでは、user.rb:
serialize :preferences, Hash
何か案は?