新しい ActiveRecord オブジェクトを逆シリアル化しようとすると、なぜこのエラーが発生するのですか?
[Dev]> YAML.load(Identity.new.to_yaml)
Delayed::DeserializationError: Delayed::DeserializationError
同時に、既存の AR オブジェクトを使用したこの例は期待どおりに機能します。
[Dev]> YAML.load(Identity.first.to_yaml)
=> #<Identity id: 1, ...
回答の検索に基づいて、関連があると思われるいくつかのこと:
私は 、 を使用してruby 1.9.2p318
おりrails 3.1.3
、delayed_job 2.1.4
私のYAML::ENGINE.yamler
はsyck
です。
新しい ID レコードを YAML としてシリアライズし、後でデシリアライズするにはどうすればよいですか?
delayed_job
更新:宝石を削除すると、この簡単な例が機能することも発見しYAML::ENGINE.yamler
ましたpsych
。しかし、私delayed_job
は自分のアプリで使用しているため、何が起こっているのかを理解することは依然として重要です