ActiveRecord :: Base :: serialize会自动对某些字段进行反序列化

时间:2014-01-14 22:25:07

标签: ruby-on-rails activerecord serialization

我在一个模型上序列化两个几乎相同的字段,当我为其中一个调用accessor方法时,我得到了反序列化的对象,但当我为另一个调用accessor方法时,我得到了{ {1}} struct。

我看到的区别在于,对于第一个字段,我在mixin模块的ActiveRecord::AttributeMethods::Serialization::Attribute块中声明了serialize;对于第二个字段,我在类声明中声明included(正常)。

造成这种情况的原因是什么?如何将这两个字段的行为统一起来?

Rails 3.2.13

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我将有问题的serialize声明(未生成自动反序列化访问器方法的声明)向上移动了几行,以便它我的attr_encrypted声明之上。< / p>