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という知ったばかりの知識を使って実装するのだが、わからない部分もあり、理解が浅いことを感じた。

  • 考えている時間の方が長くて、進んでいる感じがしなかった。また明日やろう。

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

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


  • エラー解決

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

  • 環境変数(OSの知識)

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

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

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

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

  • リファクタリング

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

  • Docker

  • gimei(Gem)