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時間でもいいからやろう」と机に向かうこと
* ちゃんと寝ること
* 進んでない時=わからないことが多いためわからない部分を明確にした上でメンターさんに質問する
ことを思い出した。昨日の夜から今日にかけて睡眠はきちんと取れたので、さっさと仕事から帰ってメンターさんに質問しよう!と気持ちを切り替えられた。上記のように自分の気持ちを理解して、以前に比べると落ち込みに対して、うまくコントロールできるようになったことが嬉しい。