ruby - Rails 3 - 反序列化只返回 ActiveRecord::AttributeMethods::Serialization::Attribute

标签 ruby activerecord serialization 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.

真正奇怪的是,有一些模型具有正常行为。

有人可以帮助我吗?

最佳答案

我现在知道这个问题是什么时候发生的,但我仍然不知道为什么:

这个有效:

User < ActiveRecord::Base
    serialize :options, Hash
end

选项返回{}

如果我在序列化之前调用模型本身,就像那样:

User < ActiveRecord::Base
  USER_LIST = User.all.map {|u| [u.name, u.id]}

  serialize :options, Hash
end

我得到 ActiveRecord::AttributeMethods::Serialization::Attribute

有人知道吗?

关于ruby - Rails 3 - 反序列化只返回 ActiveRecord::AttributeMethods::Serialization::Attribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15588643/

相关文章:

.net - Ruby 可以导入 .NET dll 吗?

ruby-on-rails - "The Ruby way"(mixins 和类重新打开)与依赖注入(inject)

ruby - 如何使用户无法访问文件,但我的程序可以访问文件?

ruby-on-rails - Rails PostgreSQL jsonb GROUP BY 对内部动态键的查询

c++ - 用户定义的类序列化、C++ 和 msgpack

java - 尽管实现了 Serialized,为什么我还是收到 java.io.NotSerializedException : Investment. Date?

ruby-on-rails - Rails 新方法在控制台中有效,在 Controller 和浏览器中失败

mysql - Yii2:防止 ActiveRecord 属性中的空字符串

java - 反序列化时出现奇怪的 Netty 错误

c# - 以 activerecord 模式方式处理 xml 数据 : Any way?