Flo*_*Eck 3 ruby serialization activerecord ruby-on-rails-3.2
我最近升级了一个旧的Rails 2.3应用程序(Ruby 1.8.7)Rails 3.2 / Ruby 1.9.3.当使用ActiveRecord序列化并尝试访问序列化属性时,我得到:
ActiveRecord::AttributeMethods::Serialization::Attribute returned.
.unserialize then returns the actual value.
Run Code Online (Sandbox Code Playgroud)
真正奇怪的是,有一些模型具有正常的行为.
有人能帮我吗?
我现在想出这个问题何时发生,但我仍然不知道为什么:
这有效:
User < ActiveRecord::Base
serialize :options, Hash
end
Run Code Online (Sandbox Code Playgroud)
选项返回{}
如果我在序列化之前调用模型本身,那样:
User < ActiveRecord::Base
USER_LIST = User.all.map {|u| [u.name, u.id]}
serialize :options, Hash
end
Run Code Online (Sandbox Code Playgroud)
我得到ActiveRecord :: AttributeMethods :: Serialization :: Attribute
有人有个主意吗?