2016-04-23 41 views
0

enter image description here我認爲我的錯誤有點愚蠢,但它讓我停滯不前。我正在使用Rails 4進行敏捷Web開發,並從中開發應用程序庫。我得到一個模型對象的未定義方法'add_product'

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 

另外,我想知道,如何從不同的模型的方法可以直接調用到一個單獨的控制器? 對象購物車有價值,我已調試過,以及錯誤行也有對象存在。 感謝您的幫助。

回答

0

我發現了錯誤,這是我在Cart.rb中犯的一個錯字。我已經命名了方法add_product',並且正在調用控制器中的add_product。