ActiveJob::SerializationError
任何人都知道在尝试序列化对象时避免发生这种情况Date
的干净方法Time
吗?
到目前为止,我有两个解决方案是:
- 加载参数时调用 Marshal/JSON/YAML
dump
,然后load
返回作业(这很糟糕,因为我需要修补邮件程序作业) - 猴子补丁
Date
之Time
类的:
/lib/core_ext/time.rb
class Time
include GlobalID::Identification
def id
self.to_i
end
def self.find(id)
self.at(id.to_i)
end
end
/lib/core_ext/date.rb
class Date
include GlobalID::Identification
def id
self.to_time.id
end
def self.find(id)
Time.find(id).to_date
end
end
这也很糟糕。有人有更好的解决方案吗?