【发布时间】:2016-01-12 17:12:46
【问题描述】:
我有一个用户模型,有两个自我连接,卖家和买家。
我有一个类别模型,卖方有_and_belongs_to_many 个类别,买方也有。 如何创建迁移,以便我可以执行 Seller.categories 和 categories.buyers 等...
我以为它会像下面这样,但它不起作用......
def change
create_table :categories_sellers do |t|
t.references :category
t.references :user
end
add_foreign_key :categories_sellers, :users, column: :trainer_id
add_index :categories_users, [:category_id, :seller_id]
add_index :categories_users, :seller_id
end
end
【问题讨论】:
-
您希望如何在您的联接表中对
sellers和buyers进行分类?当然你只需要user_id,category_id? -
我以为我有两个单独的连接表,一个用于卖家/类别,一个用于买家/类别,我需要能够找到特定类别的所有卖家,因此我为什么要加入表是对的....不是吗?
-
我知道这并不能回答你的问题,但卖家属于一个类别感觉很奇怪。产品不应该属于一个类别吗?
-
可以简化建模以使用单表继承 (STI) 更轻松地处理此问题:api.rubyonrails.org/classes/ActiveRecord/Inheritance.html
标签: ruby-on-rails database ruby-on-rails-4 join