テックキャンプ日誌 Day50

テックキャンプ日誌(全70日間)

50日目終了。大台・・・!

↓今日やったこと

フリマアプリ 出品機能(データベースに保存、バリデーション設定)

 

データベースになかなか保存が出来ないまま半日過ぎてしまい、流石に焦ってきたのでメンターさんに質問。

原因は、ユーザー登録をしていないためuser_idでバリデーションかかって弾かれていた!

詳しくは、itemモデルにbelongs_to: user のアソシエーションと、itemテーブルのマイグレーションファイルにuser_id, null: falseの記述があったから。

言われてみると確かに!って感じ。個人アプリとかだったら、ユーザー登録から実装していくのでこういう事態はなかったんだな〜。チーム開発で別々の機能を実装していくからこういう風になるってことが学べたことが大きいね(´∀`)

そしてユーザー登録をしなくても検証できる方法として良い方法を教えて頂きました!

item_paramsのストロングパラメーターに.merge(user_id: 1)をプラスする。

params.require(:item).permit(・・・・・・・・・).merge(user_id: 1)  こんな感じ。

こうすることでuser_id=1としてparamsを渡せます!

いや〜便利。ありがとうございます!

 

明日は単体テストとかをやっていきたいんですが、完全に忘却の彼方/(^o^)\

カリキュラム見直すところからやっていきます・・・!

ではまた明日!