当我尝试反序列化新的 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
的 is syck
。
我该怎么做才能将新的身份记录序列化为 YAML,然后再反序列化?
更新:我还发现,如果我删除了delayed_job
gem,那么这个简单的例子确实有效,而我YAML::ENGINE.yamler
现在是psych
. 但我delayed_job
在我的应用程序中使用,所以了解发生了什么仍然很重要