レールで簡単なショッピングカートを作成しています。カートに商品を追加すると、次のエラーが発生します。予期しないオブジェクトがあります。
カートに追加する方法は次のとおりです。
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にrescueメソッドを追加すると、これが発生しました...