20201204_アウトプット(商品購入機能)
今日行ったこと 3時間半
- 商品購入機能の実装(ブランチ・フォームオブジェクトの作成)
新しい発見
新しい解決方法が見つかって実装していくというより、
今のフリマアプリでフォームオブジェクト実装するにはどう置き換えたら良いか
悩みつつ、疑問点が出てくる感じだった💦
フォームオブジェクトの実装(今進めている仮説)
(1)主となるordersテーブルの作成。(ルーティング・コントローラー・モデル・ビューを実装。)
(2)orderテーブルに紐づく、paymentsテーブルの作成。(モデルのみ。)
(3)上記2つのフォームオブジェクトの役割を果たす、order_formモデルの作成。(その中に(1)(2)のバリデーション、カラム、save情報を実装)
(4)paymentsテーブルで使う都道府県と、itemsテーブルで使っていた都道府県について、カラム名違うけど同じActiveHashを使うのでは?と感じたため、itemsテーブルのカラム名(マイグレーションファイル)を修正したり、テストコードの内容を修正した。
わからないところ(どっちだっけ?と理解が曖昧なところ)
フォームオブジェクトのバリデーションに実装するエラーメッセージ(テストコードの時に、実装しよう)
フォームオブジェクトのsaveメソッドに記載する内容について。usersテーブルや、itemsテーブルのモデルも必要なのかな?(今は未実装。仮説はアソシエーションで事足りる?)
AciveHashのアソシエーションに、スルーいる?(今は未実装。仮説はitemsテーブルから引っ張ってきているわけではなく、prefectureモデルとしてデータを持ってきているのでいらない?)
link_to等で指定するプレフィックスについて。飛んだ後のページ書くんだっけ?(仮説:そのボタンを押した時に起こしたい、HTTPメソッドのプレフィックスを指定する)
ネストが必ず必要な部分とそうでない部分の違い。
感想
- 今週の時間の使い方はよくなかった。コードを書く時間が少なくなってしまったため。
【失敗から学んだこと】
・自分が想定しているよりも理想像・履歴書などの考えを整理することに時間がかかる。
・一気に作ろうとして寝不足になり、翌日眠すぎて勉強にならない。
【改善策】
・2割共有をする。(いったんさらっと作った後に何回か練る方法にする。)
最後の機能の実装は、フォームオブジェクトとPAYJPという知ったばかりの知識を使って実装するのだが、わからない部分もあり、理解が浅いことを感じた。
考えている時間の方が長くて、進んでいる感じがしなかった。また明日やろう。