😺

RailsのCarrierWave(v3.0.5)で画像が削除されなかったのでアップデートした話

2024/04/19に公開

最近、Railsで開発をしていてファイルアップロードのためにCarrierWaveを使っていたのですが、
v3.0.5だと画像が削除されないバグがあったのでアップデートしました。

https://github.com/carrierwaveuploader/carrierwave

問題

PDFファイルを1つアップロードするだけのシンプルな仕様だったので、
リポジトリのREADMEや記事を見て設定して使っていました。

アップロード自体はできたので削除もできているか確認したところ、できていない。
READMEにはデフォルトでこういうコールバックが呼び出されますよと書いてあります。

after_commit :remove_previously_stored_avatar, on: :update

Wikiにもデフォルトでは削除されるようになっているから保持したかったら設定をfalseに変えてねと書いてあります。

https://github.com/carrierwaveuploader/carrierwave/wiki/How-to%3A-Keep-uploaded-files-(for-a-specific-uploader)

ですが、色々試しても削除されない・・・。

解決策

デバッグしたり検索したりして調査したところ、issueが挙がっていました。

https://github.com/carrierwaveuploader/carrierwave/issues/2713

bundle update carrierwave --conservative

最新のバージョン(v3.0.7)にアップデートすれば削除されるようになりました。

Discussion