繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM