2010-11-07 161 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

下的「保存陣列[...]」