我有一个应用程序,其中有产品和购物车。产品只有在添加到购物车后才属于购物车,然后购物车才会拥有产品。但是在将产品添加到购物车之前,它们只是一个没有关联的独立模型。如何在rails中捕获它?
我很困惑我是否应该将cart_id添加到Products表中,如果它们只在添加时才属于Cart?
答案 0 :(得分:3)
提到的导轨指南绝对值得一看。它只涉及这个问题。
我想问题是:在您的情况下,“产品”类的单个实例代表什么?产品实例是商品的类型,还是该商品的物理实例?
前者可能更有意义。在这种情况下,Products表的各行将代表各种类型的产品 - 您可能不需要cart_id列。相反,您需要一个连接表,或者最好是另一个模型(订单)来表示客户购买单个产品的情况。
答案 1 :(得分:1)
我会创建一个LineItem
模型belongs_to :cart
和belongs_to :product
。然后在购物车中你可以这样做:
has_many :products, :through => :line_items