私の Rails アプリには、多くの画像を持つことができる Steps というモデルがあります。
class Step < ActiveRecord::Base
has_many :images, :dependent => :destroy
...
依存破棄条件のため、ステップを削除すると、対応するすべての画像が削除されます。
ただし、画像の削除はバックグラウンド タスクで行いたいと考えています。次のようにコントローラーでワーカーを呼び出すことにより、sidekiqを使用してそれを実行できることを私は知っています:
@step.images.each do |image|
CarrierwaveImageDeleteWorker.perform_async(image.id)
end
しかし、依存破棄条件のために画像が自動的に削除されるため、sidekiq ワーカーを呼び出す方法がわかりません。 破棄アクションがトリガーされたら、画像が sidekiq バックグラウンド タスクを自動的に呼び出すようにする最善の方法は何でしょうか?