首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在活动记录中表示引用数据的最佳方法

在活动记录中表示引用数据的最佳方法
EN

Stack Overflow用户
提问于 2016-09-08 12:50:20
回答 1查看 84关注 0票数 1

假设我有一个产品可以有任意数量的属性..。这些属性仅限于特定的选项。产品可以有(以下各有有效选项):

  • 彩色
    • 红色
    • 蓝色
    • 绿色

  • 类别
    • 体育运动
    • 正式
    • 孩子们

  • 防水
    • 不是

名单可能会继续下去。是否存在用单个表在活动记录中表示此值?我认为最好有一个类似于以下内容的引用数据表:

代码语言:javascript
运行
复制
create_table :attritubes do |t|
  t.string :name # Red, Blue, Green, Sports, Formal...
  t.string :field_type # Color, Category, Waterproof...
end

为每个属性建立一个模型似乎是一种浪费,因为它实际上并没有什么作用。在这种情况下,我有一个名为“属性”的通用模型,该模型是产品拥有的许多属性吗?或者,活动记录是否有一种方法可以通过列来区分属性(组成这个语法):

代码语言:javascript
运行
复制
belongs_to :color, class_name: :attribute, where(field_type: 'color')

打完之后,它看起来就像个显微镜.那是个更好的方法吗?

EN

回答 1

Stack Overflow用户

发布于 2016-09-08 13:25:15

您可以为以下属性创建一个表

代码语言:javascript
运行
复制
create_table :attritubes do |t|
  t.string :color 
  t.string :category 
  t.boolean :waterproof
end

&然后获取枚举中的数据,如

代码语言:javascript
运行
复制
enum color: { red:0, blue:1, green:2 }
enum category: { sports:0, formals:1, kids:2 }
enum waterproof: { no:0, yes:1 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39391438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档