我有一个在 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: "#<ActiveMerchant::Billing::Response:0x1051aec98>", 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 2 对使用序列化的解释在 Rails 3 中对我来说不起作用,除非我还在序列化调用中指定了序列化对象的类型。例如:
serialize :response, Array
指定数组后,功能按预期工作。
进一步的文档在这里:
http://api.rubyonrails.org/classes/ActiveRecord/Base.html http://api.rubyonrails.org/classes/ActiveRecord/Base.html
在“保存数组[...]”下
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)