我有 3 个基本型号,分别是鞋子、颜色和尺码。
鞋子有多种颜色和多种尺寸,但对于每种颜色,它们都有 available_sizes。
为了能够执行此操作,我应该同时查看 shoe_id 和 color_id 并根据它们在三联模型上获取 size_ids。
相反的条件(available_colors)也存在。
然后,我们的模型将是这样的:
class Shoe < ActiveRecord::Base
has_many :stocks
has_many :colors, through: :stocks
has_many :sizes, through: :stocks
end
class Color < ActiveRecord::Base
has_many :stocks
has_many :shoes, through: :stocks
end
class Size < ActiveRecord::Base
has_many :stocks
has_many :shoes, through: :stocks
end
class Stock < ActiveRecord::Base
belongs_to :shoe
belongs_to :color
belongs_to :size
end
我想要什么,查询类似shoe.sizes.availabe_colors
or的东西shoe.colors.available_sizes
。
我应该如何实现关联以使所有鞋子、颜色和尺码模型都能很好地协同工作?