Rails 3序列化问题
我有一个适用于ror 2.3.x的应用程序。 我无法使用序列化升级到Rails 3。
代码看起来像这样
class PaymentTransaction < ActiveRecord::Base serialize :response end
响应应该包含ActiveMerchant :: Billing :: Response。 由于某种原因,使用rails 3将其保存为字符串。
=> #<PaymentTransaction id: 11, order_id: nil, amount: nil, mode: nil, payment_profile_id: nil, response: "#", created_at: "2010-11-07 04:06:03", updated_at: "2010-11-07 04:24:58", result: "pending", payee: nil, login_id: nil, transaction_key: nil>
在任何其他关于升级的博客中,我都没有关于序列化的任何注释。 有什么想法吗?
rails 3中的一个小变化产生了影响: https : //github.com/rails/rails/commit/c1d73270717f30498f8f4d55d6695509107c2834
这里有两篇关于序列化的好文章:
除非我还在序列化调用中指定了序列化对象的类型,否则使用序列化的Rails 2解释在Rails 3中不起作用。 例如:
serialize :response, Array
指定数组后,function按预期工作。
更多文档:
http://api.rubyonrails.org/classes/ActiveRecord/Base.html
在“Saving Arrays […]”下