我有gateway_response对象,表示高级ActiveMerchant网关响应。我想继续讨论这个问题,以防我将来遇到任何问题。
我想将它存储在数据库中,并按如下方式对其进行封送处理。我已经覆盖了getter / setter方法来编组赋值和解组时解组。这似乎有效,但我认为Active Record有一种更精简的方法:
def gateway_response=(r)
write_attribute(:gateway_response, Marshal.dump(r))
end
def gateway_response
Marshal.load(read_attribute(:gateway_response))
end
答案 0 :(得分:1)
使用serialize方法。
class Order
# add a text column called gateway_response in the `orders` table.
serialize :gateway_response
end
现在:
order.gateway_response = r
order.save
order.gateway_response # response object