20201208_アウトプット(商品購入機能)

アプトプット画像

今日行ったこと 2時間

  • 商品購入機能の実装(sold outの実装、JavaScriptの実装)

    新しい発見

  • .present?!= nilと同意義であることを理解。

  • 反対に、上記と逆の意味になるのは、.blank?== nil)と理解。

  • ビュー表示の切り替えについて、何か一つ、テーブルからデータを取ってくることをコントローラーで定義している場合には、その一つと「アソシエーション」を組んでいる他のテーブルからデータを取ってきて表示できることを理解。
    (今回であればorderテーブルにデータが存在していればsold outを表示したい👉itemについてはコントローラーで定義している👉itemとorderはアソシエーションを組んでいる👉orderについてitemsコントローラーに定義しなくても、ビュー内にあるitemを使えば実装できた)

  • 反対に、コントローラーに限定して定義しすぎて(itemsコントローラーに@order = Order.find(params[:item_id])と定義)エラーでずっと引っかかってしまっていたのだと理解。

  • JavaScriptについて。「コンソール」は、表示されているページだけでなく、JavaScriptのページが全て読み込まれて「ここエラーじゃない?」とヒントが表示されることを理解。

  • 今回実装したいトークンとは別に、authenticity_tokenというRails側で用意しているuserが合っていたら発行されるトークンがパラムスに含まれていることを知る。なので、昨日の疑問(なぜトークンだけ送られているのか?!)はそもそも今回サーバーサイドに送りたいトークンではなく、Rails側のトークンだったことを理解。



感想

  • 先々週は平日4〜5時間勉強時間を取れていたのに、先週はリズムを崩したりして勉強時間を確保できなかったこと、今週に入っても商品機能が思いの外進まないことに昨日の夜から少し落ち込んでいた。

  • しかし朝、通勤途中に「この思考の癖はやめよう」「そんな時こそセルフコンパッション!」と気持ちを切り替えることにした。

  • うまくいっている時のことを思い出すと
    * 「1時間でもいいからやろう」と机に向かうこと
    * ちゃんと寝ること
    * 進んでない時=わからないことが多いためわからない部分を明確にした上でメンターさんに質問する
    ことを思い出した。昨日の夜から今日にかけて睡眠はきちんと取れたので、さっさと仕事から帰ってメンターさんに質問しよう!と気持ちを切り替えられた。

  • 上記のように自分の気持ちを理解して、以前に比べると落ち込みに対して、うまくコントロールできるようになったことが嬉しい。



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

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


  • エラー解決

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

  • 環境変数(OSの知識)

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

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

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

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

  • リファクタリング

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

  • Docker

  • gimei(Gem)