2014-01-22 51 views
0

我有兩個模型是,用戶和產品Rails的模型和屬於多個列表類型

class User < ActiveRecord::Base 
    has_and_belongs_to_many :products 
end 

class Product < ActiveRecord::Base 
    has_and_belongs_to_many :users 
end 

現在我想讓三個列表爲每個用戶,產品,他們最近已經簽出,產品他們的購物車和他們購買的產品。我如何區分這些關係?我可以在關係表中添加某種類型的列嗎?我怎麼能稍後檢查這種類型?

感謝

+0

你使用ActiveRecord或者是其他東西 ?如果是這樣,請先查看[rails關聯指南](http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association) –

回答

1

如果你和其他列添加到關係表也許你應該考慮使用兩個用戶和產品的has_many,那麼你就可以在車添加列

class User < ActiveRecord::Base 
    has_many :carts 
    has_many :products, through: :carts 
end 

class Cart < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :product 
end 

class Product < ActiveRecord::Base 
    has_many :carts 
    has_many :users, through: :carts 
end