Mysql 如何在sql数据库的列中存储类的实例方法名?

Mysql 如何在sql数据库的列中存储类的实例方法名?,mysql,ruby-on-rails,Mysql,Ruby On Rails,我想创建一个具有嵌套哈希结构的列 该栏的结构: column_name: company { production=> {watch=> "yes",pen =>"no",pencil => "yes"} quality => {life_test =>"yes", strong_test =>"yes", flexibility_test => "no"} } 在这里生产、质量是我的模型,手表、钢笔、铅笔、生命测

我想创建一个具有嵌套哈希结构的列

该栏的结构:

   column_name: company
   { production=> {watch=> "yes",pen =>"no",pencil => "yes"}
      quality => {life_test =>"yes", strong_test =>"yes", flexibility_test => "no"}
    }
在这里生产、质量是我的模型,手表、钢笔、铅笔、生命测验、强项测验是我各自班级的实例方法。每个实例方法都将从视图页面获取布尔值。
如何实现此结构。

使用序列化将哈希存储在数据库中


遵循api这称为序列化,非常简单。您可以执行以下操作:

class Something < ActiveRecord::Base
  serialize :company, JSON
end

bar = Something.new
bar.company = { :production=> {:watch=> true,:pen => false, :pencil => false}
      :quality => {:life_test =>true, :strong_test =>true, :flexibility_test => false} }
bar.save
class Something{:watch=>true,:pen=>false,:pencil=>false}
:quality=>{:life\u test=>true,:strong\u test=>true,:flexibility\u test=>false}
酒吧

如果您想了解更多信息,请点击此处:阅读“在文本列中保存数组、哈希和其他不可映射对象”部分,只需确保数据库中的公司列是文本列。

非常感谢您的回复。这里我有一个问题,我有一个模型,它在活动记录中没有表,并且有一个实例方法。我想在“features”表中添加一个列company该模型在数据库中根本没有表?是的。该模型没有任何新功能,只需共享所有其他模型的一些工作,如呼叫邮件发送者发送邮件。