2011-07-11 60 views
0

我有一個應用程序,有產品和購物車。產品在添加到購物車後纔會屬於購物車,然後購物車將擁有多個產品。但是在將產品添加到購物車之前,它們只是一個沒有關聯的獨立模型。我如何在軌道中捕獲這個?在rails中是否有belongs_to'有時'的概念?

我很困惑我是否應該將cart_id添加到Products表中,如果他們只屬於購物車,並且它們被添加時?

回答

3

提到的導軌指南絕對值得一看。它只是出現這個問題。

我想問的是:在你的情況下,類「產品」的個別實例代表什麼?產品實例是商品的類型,還是該商品的物理實例?

前者可能更有意義。在這種情況下,Products表中的各行代表單個產品類型 - 而且您可能不需要cart_id列。相反,您需要一個連接表,或者最好是另一個模型(訂單)來表示客戶購買單個產品的情況。

1

我會創建一個LineItem模型,其中belongs_to :cartbelongs_to :product。然後在購物車中,您可以這樣做:

has_many :products, :through => :line_items 
相關問題