###実現したいこと
エラーメッセージを全て出したい。
exit?メソッドを作成しました。
ここでは、商品購入にあたり、在庫チェックをするメソッドになります。
仮に商品を2つ以上、一緒に購入する場合、商品の数だけ在庫の確認をしなければなりません。
そして、足りない商品だけ商品の名前をmessage[](配列)
に挿入するように作成しました。
続いて、messages.each do |message|
にて足りない商品の名前をflash[:danger]に
入れている次第であります。
###困っていること
最後の一つしかエラーメッセージがでない。
どのようにすれば全てのエラーメッセージを出力させられますでしょうか。
###コード
(orders_controller.rb) def exist? cart = Cart.find_by(user_id: current_user.id) cart_items = CartItem.where(cart_id: cart.id) count = false messages = [] cart_items.each do |cart_item| product = Product.find(cart_item.product_id) if cart_item.quantity >= product.count count = true messages << product.name end end if count messages.each do |message| flash[:danger] = "#{message}の在庫がありません。数量を選び直してください。" end redirect_to cart_item_path(current_user) end end
(application.html.erb) <% flash.each do |message_type, message|%> <div class="alert alert-<%= message_type%>"><%= message %></div> <% end %>

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。