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で返事くださって嬉しかった!!!(ありがとうございます!)

  • 商品購入機能で一番つまったのは「条件分岐」だと思う。振り返りを定期的に持つことは大事だと改めて学んだので、今度振り返りしよう!(追加実装と個人アプリの日程計画立てよう)



これから理解したいこと(覚書用)

  • Formオブジェクト(モデルの存在しないデータを更新)


  • エラー解決

  • カラムの追加方法、ロールバック

  • 環境変数(OSの知識)

  • 環境構築、バージョン対応

  • GitHub(他のアプリケーションと連携・自分に取り入れること)

  • Herokuのデプロイ方法 👉11/15・16学習 50%進む

  • README(DB設計だけでなく、全体について取扱説明書としてどんな風に書くと良いのか)

  • リファクタリング

  • データベースをインポート、エクスポート

  • Docker

  • gimei(Gem)