我創建的軌道一個簡單的購物車,當我將產品添加到購物車我得到這個錯誤: 你有一個零對象時,你沒想到吧!獲得零對象在購物車
的添加到購物車方法是:
def add_to_cart
begin
product = Product.find(params[:id])
rescue ActiveRecord::RecordNotFound
logger.error("Attemp to access invalid product #{params[:id]}")
flash[:notice] = "Invalid Product !"
redirect_to :action => :index
else
@cart = find_cart
@cart.add_product(product)
end
end
和add_product在車:
def add_product(product)
current_item = @items.find {|item| item.product == product}
if current_item
current_item.increment_quantity
else
@items << CartItem.new(product)
end
end
車工作正常,當我添加了救援方法,以add_to_cart這事...
不是這樣,或者@cart是零,因爲find_cart方法找不到零。在這兩個建議之間,你應該能夠弄明白。 Ruby調試器可能有所幫助:http://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-ruby-debug – hgmnz 2009-09-14 11:43:16