如何序列化 – 反序列化params哈希对象?

我怎么做这样的事情? 我希望能够将params对象存储到模型的字符串属性中,并且能够将其反序列化为params散列对象,我将如何在ruby中执行此操作? 或者铁轨中是否有开箱即用的解决方案?

Active Record可以使用YAML序列化文本列中的任何对象 。 为此,您必须通过调用类方法serialize来指定它。 这使得存储数组,散列和其他不可映射的对象成为可能,而无需进行任何额外的工作。

class User < ActiveRecord::Base serialize :preferences end user = User.create(preferences: {background: "black", display: "large"}) User.find(user.id).preferences # => {background: "black", display: "large"} 

Mori的答案是正确的,但如果模型中的数据类型确实是字符串,则可能不合适。 建议你改用文字。