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该模型在数据库中根本没有表?是的。该模型没有任何新功能,只需共享所有其他模型的一些工作,如呼叫邮件发送者发送邮件。