ruby
1cart_items_controller 2 3 4def create 5 @cart_item = CartItem.new(cart_item_params) 6 @cart_item.end_user_id = current_end_user.id 7 if current_end_user.cart_items.find_by(item_id: params[:cart_item][:item_id]).present? 8 current_end_user.cart_items.find_by(item_id: params[:cart_item][:item_id]).number += params[:cart_item][:number].to_i 9 current_end_user.cart_items.find_by(item_id: params[:cart_item][:item_id]).save 10 flash[:notice] = "Item was successfully added to cart." 11 redirect_to cart_items_path 12 13 14 elsif @cart_item.save 15 flash[:notice] = "New Item was successfully added to cart." 16 redirect_to cart_items_path 17 else 18 19 render 'end_users/items/show' 20 end
現在ECサイトを作成しており、カート機能を実装しているのですが、追加した商品がすでにカート内に存在している時、同じレコードに数量だけ変化させたいのですが、
current_end_user.cart_items.find_by(item_id: params[:cart_item][:item_id]).number += params[:cart_item][:number].to_i current_end_user.cart_items.find_by(item_id: params[:cart_item][:item_id]).save
の箇所がうまく行きません。saveされずに元の個数で表示されます。
しかしflashメッセージはうまく表示されていてよくわからないです。
ご教授いただけたら幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/27 06:53