【发布时间】:2011-05-23 13:08:47
【问题描述】:
我有两个模型:User 和 HairColor。用户只有一种头发颜色,但可以有多种头发颜色偏好。对此建模的最佳方法是什么?
这是我开始做的:
#models/user.rb
class User < ActiveRecord::Base
belongs_to :hair_color
has_many :preferences,
has_many :hair_colors, :through => :preferences
end
#models/hair_color.rb
class HairColor < ActiveRecord::Base
has_many :users
end
#models/preference.rb
class Preference < ActiveRecord::Base
belongs_to :user
belongs_to :hair_color
end
使用 has_many : 通过正确的方法吗?另外,如果我想将其扩展到“眼睛颜色”等其他属性怎么办? (用户有一种眼睛颜色,但可以偏好多种眼睛颜色”
【问题讨论】:
标签: ruby-on-rails model associations relationship