Railsアプリ実装 Active Storageでimage_tagメソッドが効かない!!

アプリ実装で躓いたところ第2弾。
Active Storageを使って画像をデータベースに格納しているのに、ビューでimage_tagメソッドを使って表示させようとしてもエラーが出る。

Sequel Proで見るとデータベースのactive_storage_blobsテーブルには画像がちゃんと入っているのに、モデル.imageの値がnilであるというエラー。前提として画像は必須入力項目にしています。

結論。
データベースへの格納段階で画像を必須に設定する前に、画像なしで投稿されてしまっていたデータがあったことが原因でした。

active_storage_attachmentテーブル

active_storage_attachmentテーブルを見ると、record_idとblob_idにズレがありました。(上記画像は修正後ですが。)

修正方法としては、画像が添付されていない投稿のレコードを削除しました。これで無事解決。

今回は以上です!

この記事が気に入ったらサポートをしてみませんか?