在将列放入数据库之前,我一直在尝试序列化一个列。我想在我的模型中执行以下操作:
class SearchResult < ActiveRecord::Base
serialize :data
end
...但是当我保存时它不会序列化。所以我采取了这个:
class SearchResult < ActiveRecord::Base
before_save :serialize_data
private
def serialize_data
self.data = YAML.dump self.data
end
end
这很有效。但是,有没有理由说顶级代码不起作用(它更整洁),还是我需要声明序列化方法?它不会抛出任何错误,但也不会做我希望它会做的事情。
答案 0 :(得分:0)
你试过了吗?
class SearchResult < ActiveRecord::Base
serialize :data, Hash
end
答案 1 :(得分:0)
怎么样?
class SearchResult < ActiveRecord::Base
store :data, accessors: [:data_help]
end