通过 Active Record 在数据库中存储和检索编组对象作为属性的最佳方法是什么
我有 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
I have gateway_response object that represents a high level ActiveMerchant gateway response. I'd like to hang on to this object in case I need it for any issues in the future.
I'd like to store it in the DB, and have marshaled it as follows. I've overwritten the getter/setter methods to marshal on assignment and unmarshal on retrieval. This seems to work, but I imagine Active Record has a leaner way to do this:
def gateway_response=(r)
write_attribute(:gateway_response, Marshal.dump(r))
end
def gateway_response
Marshal.load(read_attribute(:gateway_response))
end
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 serialize 方法。
现在:
Use the serialize method.
Now: