假设我有一个可以拥有任何数量属性的产品......这些属性仅限于特定选项。产品可以有(每个下面都有有效选项):
列表可以继续。无论如何用单个表来表示活动记录吗?我认为有一个类似于:
的单一参考数据表是理想的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')
输入后,它几乎看起来像一个范围......这是一个更好的方法吗?
答案 0 :(得分:0)
您可以为
等属性创建单个表格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 }