mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Change Active Storage destroy callbacks
There is concern that only blob are deleted depending on the `before_destroy` definition order which throws abort.
This commit is contained in:
parent
428939be9f
commit
9431529011
2 changed files with 8 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
* Use `after_destroy_commit` instead of `before_destroy` for purging
|
||||
attachments when a record is destroyed.
|
||||
|
||||
*Hiroki Zenigami*
|
||||
|
||||
|
||||
* Force `:attachment` disposition for specific, configurable content types.
|
||||
This mitigates possible security issues such as XSS or phishing when
|
||||
serving them inline. A list of such content types is included by default,
|
||||
|
|
|
@ -44,7 +44,7 @@ module ActiveStorage
|
|||
scope :"with_attached_#{name}", -> { includes("#{name}_attachment": :blob) }
|
||||
|
||||
if dependent == :purge_later
|
||||
before_destroy { public_send(name).purge_later }
|
||||
after_destroy_commit { public_send(name).purge_later }
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -89,7 +89,7 @@ module ActiveStorage
|
|||
scope :"with_attached_#{name}", -> { includes("#{name}_attachments": :blob) }
|
||||
|
||||
if dependent == :purge_later
|
||||
before_destroy { public_send(name).purge_later }
|
||||
after_destroy_commit { public_send(name).purge_later }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue