序列化ActiveRecord对象而不存储其属性?

时间:2010-03-26 07:48:08

标签: ruby-on-rails ruby serialization activerecord

我正在研究一个问题,我需要在数据库中存储Ruby对象的序列化层次结构。许多需要保存的对象是具有大量属性的ActiveRecord对象。当我加载它们时,它们不是保存整个对象,然后从数据库刷新它们的属性(如果它们发生了变化,这很可能),那么只存储这些对象的引用(类和数据库id)会更容易。 p>

有没有人知道在Rails中是否已经有办法做到这一点,或者是否有现有的宝石?想要在花费大量时间进行黑客攻击之前检查是否存在某些东西。

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

据我了解您的问题,您应该添加模型:serialize field_name并将所有属性嵌套对象推送到此字段。 Rails将使用gem Marshal序列化此对象。

有一些使用Marshal而不使用rails和ActiveRecord进行序列化的示例。 this - 是Stack Overflow的答案,它是如何工作的。