[英]how to store instance methods name of a class in a column in sql database?
我想创建一个具有嵌套哈希结构的列。
该列的结构:
column_name: company
{ production=> {watch=> "yes",pen =>"no",pencil => "yes"}
quality => {life_test =>"yes", strong_test =>"yes", flexibility_test => "no"}
}
在这里,生产,质量是我的模型,而手表,钢笔,铅笔,life_test,strong_test是我各自类的实例方法。 每个实例方法将从视图页面获取布尔值。 如何实现这种结构。
这称为序列化,这很容易。 您可以执行以下操作:
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
如果您想了解更多信息,请访问: http : //api.rubyonrails.org/classes/ActiveRecord/Base.html并阅读“在文本列中保存数组,哈希和其他不可映射的对象”部分,只需确保您的数据库中的公司列是文本列。
使用序列化将哈希存储在db中。
跟随api 链接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.