假设我有一个产品可以有任意数量的属性..。这些属性仅限于特定的选项。产品可以有(以下各有有效选项):
名单可能会继续下去。是否存在用单个表在活动记录中表示此值?我认为最好有一个类似于以下内容的引用数据表:
create_table :attritubes do |t|
t.string :name # Red, Blue, Green, Sports, Formal...
t.string :field_type # Color, Category, Waterproof...
end为每个属性建立一个模型似乎是一种浪费,因为它实际上并没有什么作用。在这种情况下,我有一个名为“属性”的通用模型,该模型是产品拥有的许多属性吗?或者,活动记录是否有一种方法可以通过列来区分属性(组成这个语法):
belongs_to :color, class_name: :attribute, where(field_type: 'color')打完之后,它看起来就像个显微镜.那是个更好的方法吗?
发布于 2016-09-08 13:25:15
您可以为以下属性创建一个表
create_table :attritubes do |t|
t.string :color
t.string :category
t.boolean :waterproof
end&然后获取枚举中的数据,如
enum color: { red:0, blue:1, green:2 }
enum category: { sports:0, formals:1, kids:2 }
enum waterproof: { no:0, yes:1 }https://stackoverflow.com/questions/39391438
复制相似问题