【rails】Carrier Waveを使った画像アップロードでハマった話

こんばんは。
今日は短いですが、無駄に時間をとられたので、備忘録として記録を残したいと思います。


carrier_waveで画像をアップロードする際、実際に値が入っているかbinding.pryを使って確認しましたが、画像をアップロードしても下図のようにカラムの中身がnilになり、データベースに画像を保存できずハマってしまいました。

※下図はアップロードに成功したときのparamsの中身です。


f:id:shun_0211:20200721212442p:plain


カラムの中が空であるのに、データベースの中身を確認するときちんと入っています。


f:id:shun_0211:20200722062411p:plain


画像のカラムの中身がnilで返されるのは仕様のようで、データベースに値が入らなかったのはNot Null制約をかけた他のカラムでバリデーションエラーになっていたからでした。エラーが出た際は必ずエラーメッセージを見るようにしたほうがいいことを学びました。(当たり前ですが・・・)


短いですが、今日はここまでになります。誰かの役に立てれば幸いです。