かっちゃんの日記

初めまして!自営業(タイヤの卸売)をやってます。新規事業としてアプリ開発に興味がありプログラミングを勉強中です。日々の学びを発信していきます。よろしくお願いします。HTML/CSS/haml/sass/Ruby/Ruby on rails/Javascript/Jquery/Git/GitHub/データベースとSQL/統合テスト/AWS

【アプリ開発エラーメモ】外部キーをDBに保存する

今制作してるアプリで、DBに登録した情報 + 登録者(current_user)を加えたかったのですがエラーを起こしたのでメモします。

 

まず私のミス

ストロングパラメータにcurrent_user.idと書いたら一緒にDB入るだろうと思ってましたがむりですね、思考停止してました。笑

ストロングパラメータのメソッドであるproduct_paramsはあくまでform_forで送られてきたカラムを指定して、createメソッドに渡してあげてるので、DBにcurrent_user.idと言うカラムがないので当然エラーが起きます。

f:id:chkc:20190815154541p:plain

 

正解はこれです。

①ストロングパラメータのproduct_paramsでハッシュ形式でカラムを受け取ったら、カラムをcreateメソッドに渡してあげます。

②createメソッド内で、カラムにあるuser_idに対して、current_user.idとしてあげる。

(ログインしているユーザーに関しては、form_forで送られてきた情報ではないのでハッシュでデータ保存する必要性はない。)

f:id:chkc:20190815155134p:plain