我定义了3个模型:
如何定义表/关联,以便从Palette对象中收集所有颜色,例如:
@colors = @palette.swatches.colors
(色板当前存储了color_id,palette_id,以及一些相关信息,例如sort_order等)。
答案 0 :(得分:0)
我认为这可以为您提供所需的结果。
# palette table:
# id INT
class Palette < ActiveRecord::Base
has_many :swatches
has_many :colors, :through => :swatches
end
# swatch table:
# id INT
# palette_id INT
# color_id INT
class Swatch < ActiveRecord::Base
belongs_to :palette
belongs_to :color
end
通过使用:through
参数,您可以直接访问调色板的颜色。
@colors = @palette.colors