【アプリ開発エラーメモ】外部キーをDBに保存する
今制作してるアプリで、DBに登録した情報 + 登録者(current_user)を加えたかったのですがエラーを起こしたのでメモします。
まず私のミス
ストロングパラメータにcurrent_user.idと書いたら一緒にDB入るだろうと思ってましたがむりですね、思考停止してました。笑
ストロングパラメータのメソッドであるproduct_paramsはあくまでform_forで送られてきたカラムを指定して、createメソッドに渡してあげてるので、DBにcurrent_user.idと言うカラムがないので当然エラーが起きます。
正解はこれです。
①ストロングパラメータのproduct_paramsでハッシュ形式でカラムを受け取ったら、カラムをcreateメソッドに渡してあげます。
②createメソッド内で、カラムにあるuser_idに対して、current_user.idとしてあげる。
(ログインしているユーザーに関しては、form_forで送られてきた情報ではないのでハッシュでデータ保存する必要性はない。)