【发布时间】:2015-11-04 19:18:13
【问题描述】:
我正在将 Rails 3 项目升级到 Rails 4,但它正在破坏我使用 ActiveRecord Store 属性的模型之一。我的模型如下所示:
class ModelClass < ActiveRecord::Base
attr_accessible :attr_1, ..., attr_n, as: :admin
store :properties, accessors: [:attr_1, ..., :attr_n], coder: JSON
end
:properties 字段是 Postgres 中的文本字段。
当我尝试访问此模型中的数据时,我得到以下JSON::ParserError:
795: unexpected token at '{"attr_1"=>"", ..., "attr_n"=>""}'
这些记录都是在 Rails 3 中创建的,在升级到 Rails 4 之前,我的模型类在 store 调用结束时没有 coder: JSON。看起来数据库中的数据没有正确序列化有没有人知道为什么以及如何修复它?是因为我的数据看起来像数据库中带有=> 散列火箭的红宝石散列吗?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 activerecord store