PXF_LY's Blog

新手答疑:详解cart与cartItem的关系

class Cart < ApplicationRecord

  has_many :cart_items  
  # 一个购物车(cart),有很多个购物袋(CartItem)。

  has_many :products, through: :cart_items, source: :product  
  # 购物车里有很多多products。但他只能通过cart_item去了解product的情况。
  class CartItem < ApplicationRecord
  belongs_to :cart
  belongs_to :product
  # 每个购物袋里放有有一个product(带id)。一个product,可以放入很多个CartItem。

end

has_many :through主要在建立多对多关联资料库使用

一个购物车(cart),有很多个购物袋(CartItem)。每个购物袋里放有有一个product(带id)。一个product,可以放入很多个CartItem。
购物车里有很多多products。但他只能通过cart_item去了解product的情况。