Rails: ActiveStorageでファイルを削除するときは、単にnilで更新するだけでいい

🔗 理由 コミット後にActiveStorage::Attachment#purge_dependent_blob_laterが呼び出されてファイルが削除されるから。 ※ただし has_one_attached / has_many_attached の :dependent オプションに :purge_later 以外が設定されている場合は不可 よって、こうじゃなくて、 user.avatar.purge こうでいい。 user.update(avatar: nil) むしろ #purge を利用すると、DBのロールバックが発生したとき、ファイルだけ削除された状態になりかねない。 検証した環境は以下のとおりです … 続きを読む Rails: ActiveStorageでファイルを削除するときは、単にnilで更新するだけでいい