20201212_アウトプット(商品購入機能)
今日行ったこと 40分
- 商品購入機能の実装(ビュー・コントローラーにおける条件分岐)のレビュー依頼👉LGTM✨
新しい発見(ずっと詰まり続けた条件分岐)
条件分岐では、要件を満たした時点でそれ以降は読まれないこと。
ビューで思うように表示ができたら、URLをダイレクトに入力して「表示させたくないのに出てしまう」部分のコントローラーを実装していくこと。
(今回で言えば)ordersコントローラーの
index``create
(ビフォーアクション)、itemsコントローラーのedit
アクションにも、URLを直接入力しても、動作が起きないように実装をした。
<%# ログイン中であれば表示 %> <% if user_signed_in? %> <%# 出品者かつ未購入品であれば、編集・削除を表示 %> <% if current_user.id == @item.user_id && @item.order.nil? %> <%= link_to '商品の編集', edit_item_path(@item), method: :get, class: "item-red-btn" %> <p class='or-text'>or</p> <%= link_to '削除', item_path(@item), method: :delete, class:'item-destroy' %> <%# 未購入品でない場合には、売り切れを表示 %> <% elsif @item.order.present? %> <%= link_to "売り切れました",item_path(@item),class:"disabled-button bold" %> <% else %> <%# 出品者以外かつ未購入品であれば、購入画面を表示 %> <%= link_to '購入画面に進む', item_orders_path(@item), class:"item-red-btn"%> <% end %> <% end %>
感想
今日は、Developers Boost 2020に参加した😍新しい気づき、学びがあったので別記事にしようと思う。
ゆめみさんという魅力的な企業を見つけることもできた!
岡山さんがTwitterで返事くださって嬉しかった!!!(ありがとうございます!)
商品購入機能で一番つまったのは「条件分岐」だと思う。振り返りを定期的に持つことは大事だと改めて学んだので、今度振り返りしよう!(追加実装と個人アプリの日程計画立てよう)