解決方法
requireではなく、fetchメソッドを使用することで、paramsがnilの場合を許容する。
private
def food_record_params
params.fetch(:food_record, {}).permit(:image)
end
使用技術
carrierwaveを使用して、画像アップロード機能を実装。
gem 'carrierwave'
carrierwaveの使用方法
https://qiita.com/uchida0331/items/f99aba46fd1a6df9e753
問題点
画像アップロード画面で、画像未選択の状態で登録ボタンを押下すると、エラー画面に遷移する事象が発生。
原因
エラーログの通り、requireメソッドではparameterに値が入っていないと、エラーになってしまう。
requireは、paramsに値が入っていない場合に、例外を出すためのメソッドだからである。
参考資料
ruby2.7リファレンス
https://docs.ruby-lang.org/ja/latest/method/Hash/i/fetch.html