用铁轨建立购物车

时间:2017-04-20 14:13:28

标签: ruby-on-rails-3 shopping-cart

铁杆新手。我在网上看过几个教程,但无法获得简单的购物车功能。以下是我的代码和我得到的错误。

class CartsController < ApplicationController

def add
    @current_cart = @cart
    @current_cart = @current_cart.products.new(product_params)
    @current_cart.save
    session[:current_cart_id] = @current_cart.id

    redirect_to :back
  end



def delete
  end

  def show
    #@cart = initialize_cart.cart
  end

  private

  def product_params
    params.permit(:id)
  end

end

应用程序控制器

class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception

  before_filter :initialize_cart

  def initialize_cart
    if session[:cart]
      @cart = Cart.find(session[:cart])
    else
      @cart = Cart.create
      session[:cart] = @cart.id
    end
  end

end

链接到添加到购物车按钮

<%= link_to "Add to Cart", :controller => "carts", :action => "add", :id => @product.id, :class => "btn bg-turquoise"%>

的routes.rb

get 'carts/add/:id', to: 'carts#add'

get 'carts/delete'

get 'carts/show', to: 'carts#show', as: 'showcart'

错误:

CartsController中的ActiveModel :: UnknownAttributeError #add

产品的未知属性'cart_id'。

提取的来源(第5行):

3 def add
4   @current_cart = @cart
**5     @current_cart = @current_cart.products.new(product_params)**
6   @current_cart.save
7   session[:current_cart_id] = @current_cart.id

感谢任何帮助或指导。谢谢!

0 个答案:

没有答案