1
私のモデルのフィールドはserialize :settings
です。また、カスタム検証によって検証されます。私は今、オブジェクトが作成されるときにそのフィールドを初期化したい(self.settings = Settings.new
)。だから私はafter_initialization
コールバックでそれを試みた。しかしそれは私にCan't convert Settings into String
を与えます。 before_validation
コールバックを使用しても同じことが起こります。 しかし、オブジェクトを作成した後に手動でSetting.newを割り当てるときには問題は全くありません。これらのコールバックを使用してシリアル化フィールドを設定できないのはなぜですか? (Rails3)検証されるシリアル化フィールドを初期化する場所は?
興味深い - ハッシュや配列などで初期化しようとするとどうなりますか? – Cory
コーリーはそれを聞くのが正しいです。また、これを行うとどうなるでしょう:YAML :: dump(Settings.new) – ffoeg