LoginSignup
2
0

Active Storageで添付元のレコードを削除したときに画像はどうなるのか

Last updated at Posted at 2022-05-30

RailsのActive Storageを使用して画像を保存している場合に、画像を添付しているレコードを削除すると画像はどうなるのか(消えるのか、残るのか)を知りたかった。

dependent: :destroyのようなoptionがあるのかなと思ったのだけれど、Railsガイドを読んでもよくわからなかった。

Actice Storageのコードをみると、デフォルトでdependent: :purge_laterという値がセットされていた。

def has_many_attached(name, dependent: :purge_later, service: nil, strict_loading: false)
  省略
end

purge_laterは、Raildガイドによると、
「Active Jobを介して、関連付けられているモデルと実際のリソースファイルを非同期で破棄します。」 とのことで、

つまり、has_one_attachedとかhas_many_attachedとかで特にoptionを設定しなければ、
添付されてるレコードを削除したときに、非同期処理で添付した画像も削除される。

ここにも書いてあった。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0