Rails:具有许多选项的模型

时间:2013-12-02 22:16:01

标签: sql ruby-on-rails ruby-on-rails-4

假设我有一个用户。用户可以拥有几种喜欢的颜色。然后我让用户搜索具有某些喜欢的颜色的其他用户。我应该如何构建这个表?每个颜色有一个包含20列的表似乎是一个坏主意,但尝试在单个列上进行字符串匹配似乎也非常混乱。

Users
id     name
1      Don


FavoriteColors
id     user_id     red    green    blue   orange    violet...
1      1           0      0        1      1         1

缩短的模型:

User
  has_many :colors

FavoriteColor
  belongs_to :user

1 个答案:

答案 0 :(得分:0)

在这里看一下2.6 has_and_belongs_to_many协会

The has_and_belongs_to_many Association 对于许多对很多关系来说,这将是最好的方法,因为它是标准化的。