铁杆新手。我在网上看过几个教程,但无法获得简单的购物车功能。以下是我的代码和我得到的错误。
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
感谢任何帮助或指导。谢谢!