购物车has_many通过协会

时间:2016-05-25 08:10:40

标签: ruby-on-rails ruby-on-rails-4

我正在尝试使用has_many通过关联创建一个非常简单的购物车示例。

我有一个购物车型号:

class Cart < ActiveRecord::Base
  has_many :cart_products
  has_many :products, :through => :cart_products
end

cart_products模型:

class CartProduct < ActiveRecord::Base
  belongs_to :cart
  belongs_to :product
end

产品型号:

class Product < ActiveRecord::Base
  has_many :cart_products
  has_many :carts, :through => :cart_products
end

我有一个具有添加功能的推车控制器:

  def add
    @product = Product.find(params[:product_id])

    if request.xhr?
      @cart_product = @cart.add(params[:id])
      render :action => "add"
    else
      render
    end
  end

在路由配置文件中:

  resources :cart do
    post 'add'
  end

在应用程序控制器中,我有一个初始化购物车的功能:

  def initialse_cart
    @cart = Cart.find(session[:cart_id])
    rescue ActiveRecord::RecordNotFound
    @cart = Cart.create
    session[:cart_id] = @cart.id
  end

我不确定的是如何在产品控制器中传递购物车ID?

我知道你可以做@ cart.products。但你怎么做呢?

感谢。

0 个答案:

没有答案