mcommit's message

ソフトウェア開発の仕事をしているsimotinといいます。記事の内容でご質問やご意見がありましたらお気軽にコメントしてください\^o^/

act_as_paranoid carrierwave 混ぜるな危険

ちょっと前にハマったので。

act_as_paranoid carrierwave 混ぜるな危険です。

混ぜた場合に発生する現象

論理削除されたレコード(model)を更新した際にcarrierwaveでアップロードした画像が消える。

発生する現象の原因

act_as_paranoid、carrierwaveともにcallbackを使っており、論理削除済みのレコードに対してupdateをかけると何故かcarrierwaveで画像を削除するcallbackが作動する。

参考

http://chulip.org/entry/2013/06/03/154741
※こちらの記事はdestroyを実行した際挙動についてですが、updateでも画像が消えます。