我正在制作协会,
我有三张桌子。
Product, Category
p1 ----> c1(1)
p1 ----> c2(2)
p1 ----> c3(3)
p2 ----> c2(1)
p2 ----> c3(2)
p3 ----> c4(3)
每个类别的产品都是有序的(排序)。产品类别的顺序不应重复。
在这种情况下,我使用has_many :categories
尝试了产品category has_many :products
和through :xyz table
。但是类别的顺序在最后一次更改时保持不变。
我想在产品和类别之间创建一个关联,然后订购rails 3#
答案 0 :(得分:0)
假设您的联接表名为product_categories
,您只需在联接表中添加sort
列即可。
然后您可以像这样设置has_many through
关联:
has_many :product_categories
has_many :categories, through: :product_categories, order: 'product_categories.sort'
可能有效的另一个选项是向ProductCategory
模型添加默认范围:
default_scope order(:sort)