如何存储可能是多种数据类型的值?

时间:2016-10-13 21:43:24

标签: ruby rails-activerecord ruby-on-rails-5

我正在创建一个新模型“detail”以及其他我希望拥有“value”属性的属性。

取决于细节,值可以是数字,字符串或布尔值。

我的第一直觉就是使用字符串并稍后将值转换为另一种类型。

如果我这样做,那么使用像value_type这样的另一个列来存储该值应该是什么类型以便稍后进行转换是明智的。

我是否忽略了更常规的“Rails方式”在这里做事?

1 个答案:

答案 0 :(得分:0)

使用序列化属性

http://api.rubyonrails.org/classes/ActiveRecord/AttributeMethods/Serialization/ClassMethods.html

class Detail < ActiveRecord::Base
  serialize :value
end