模型对象的未定义方法 'add_product '

Undefined Method 'add_product ' for model object

我认为我的错误有点愚蠢,但它让我陷入困境。我正在使用 Rails 4 关注 Agile Web Development 并从中开发应用程序 Depot。我收到

undefined method `add_product' for #<Cart:0x007f2ee4cfb8f8>

错误。我的代码如下,

class LineItemsController < ApplicationController

def create
    find_cart
    product = Product.find(params[:product_id])
    byebug
    @line_item = @cart.add_product(product.id) // line with error
    @line_item.product = product
    respond_to do |format|
        if @line_item.save
            format.html {redirect_to @line_item.cart, 
                            notice: 'Line Item was succesfully created'}
            format.json {render json: @line_item,
                            status: :created, location: @line_item}
        else
            format.html {render action: "new"}
            format.json {render json: @line_item.errors,
                        status: "Unprocessable Entry"}
        end
    end
end
end

Cart.rb

class Cart < ActiveRecord::Base
has_many :line_items, dependent: :destroy

def add_products(product_id)
    current_item = line_items.find_by_product_id(product_id)
    if current_item
        current_item.qunatity += 1
    else
        current_item = line_items.build(product_id: product_id)
    end
    current_item
end
end

另外,我想知道,不同模型的方法如何直接调用到单独的控制器中? 对象 cart 具有价值,我已经调试以确保错误行也存在该对象。 感谢您的帮助。

我发现了错误,这是我在Cart.rb中的错别字。我将该方法命名为 add_product's' 并在控制器中调用 add_product。