我在一个模型上序列化两个几乎相同的字段,当我为其中一个调用accessor方法时,我得到了反序列化的对象,但当我为另一个调用accessor方法时,我得到了{ {1}} struct。
我看到的区别在于,对于第一个字段,我在mixin模块的ActiveRecord::AttributeMethods::Serialization::Attribute
块中声明了serialize
;对于第二个字段,我在类声明中声明included
(正常)。
造成这种情况的原因是什么?如何将这两个字段的行为统一起来?
Rails 3.2.13
答案 0 :(得分:0)
我找到了解决方案。我将有问题的serialize
声明(未生成自动反序列化访问器方法的声明)向上移动了几行,以便它在我的attr_encrypted
声明之上。< / p>