2010-11-07 16 views
5

Tengo una aplicación que funcionaba bien con ror 2.3.x. Tengo problemas para actualizar a Rails 3 con serialización.Rails 3 Problema de serialización

El código es el que se supone esta

class PaymentTransaction < ActiveRecord::Base 
    serialize :response 
end 

La respuesta para contener el ActiveMerchant :: Facturación :: Respuesta. Con rails 3, por alguna razón, se guarda como una cadena.

=> #<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> 

No recibí ninguna nota sobre la serialización en otros blogs que hablaban de actualización. ¿Alguna idea?

Respuesta

2
+0

Cualquier ideas sobre cómo debería solucionar este problema .. me ha solucionado el problema mediante la adición de un inicializador que se suma un método de respuesta a to_s pero quería ver si hay una mejor manera de hacerlo. – Addy

3

Los Rails 2 explicaciones para el uso de serialización no funcionó en Rails 3 para mí a menos que también especificara la ty pe del objeto serializado en la llamada de serialización. Por ejemplo:

serialize :response, Array 

Después de especificar la matriz, la funcionalidad funcionó como se esperaba.

más documentación aquí:

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

en "Matrices de ahorro [...]"