![](/img/trans.png)
[英]Rails - Shopping Cart - How to increase quantity for a specific item in the current cart
[英]How to increase quantity in cart Rails
我正在為咖啡館做推車,除了增加數量外,其他一切都很好。 當我將食物添加到購物車時...它只是在復制相同的食物...而不是增加數量。 我想做一個解決方案,檢查...如果食物已經在購物車中...而不是添加它只會增加數量。 以下是我的控制器,可將食物添加到購物車。 任何幫助將不勝感激
def add_to_cart
add_to_session(params[:cafe], params[:food])
redirect_to about_cafe_path(Cafe.find(params[:cafe]))
end
def show_cart
@cart = session[:cart]
end
def clear_cart
session[:cart] = {}
redirect_to show_cart_path
end
def remove
destroy_food(params[:cafe], params[:food])
redirect_to :back
end
private
def add_to_session(cafe_id, food_id)
if session[:cart][food_id].present?
session[:cart][cafe_id][food_id].quantity += 1
else
session[:cart][cafe_id].push food_id
end
end
def destroy_food(cafe_id, food_id)
session[:cart][cafe_id].delete food_id
end
您應該檢查if session[:cart][cafe_id][food_id].present?
而不是if session[:cart][food_id].present?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.