2010-11-07 111 views
5

我有一个在ror 2.3.x下正常工作的应用程序。我无法通过序列化升级到Rails 3。Rails 3序列化问题

的代码看起来像这样

class PaymentTransaction < ActiveRecord::Base 
    serialize :response 
end 

的响应应该包含ActiveMerchant ::结算::响应。由于某些原因,导轨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> 

我没有对任何系列化笔记任何其他博客谈论升级。有什么想法吗?

回答

2
+0

,我应该如何解决通过添加一个初始值设定,增加了这个..我没有解决它的任何想法to_s方法来回应,但我想看看是否有更好的方法来做到这一点.. – Addy 2010-11-07 14:49:19

3

的Rails 2使用序列化的解释在Rails 3中不适用于我,除非我也指定了ty串行化调用中序列化对象的pe。例如:

serialize :response, Array 

指定数组后,功能按预期工作。

更多文档浏览:

http://api.rubyonrails.org/classes/ActiveRecord/Base.html

下的“保存阵列[...]”