Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails sidekiq任务的默认销毁_Ruby On Rails_Sidekiq_Dependent Destroy - Fatal编程技术网

Ruby on rails sidekiq任务的默认销毁

Ruby on rails sidekiq任务的默认销毁,ruby-on-rails,sidekiq,dependent-destroy,Ruby On Rails,Sidekiq,Dependent Destroy,在我的Rails应用程序中,我有一个名为Steps的模型,它可以有许多图像: class Step < ActiveRecord::Base has_many :images, :dependent => :destroy ... 但是,由于图像是由于依赖销毁条件而自动删除的,我不确定如何调用sidekiq worker触发销毁操作后,让图像自动调用sidekiq后台任务的最佳方法是什么?我通过覆盖图像模型中的默认销毁方法修复了此问题,如下所示: # ove

在我的Rails应用程序中,我有一个名为Steps的模型,它可以有许多图像:

class Step < ActiveRecord::Base
     has_many :images, :dependent => :destroy
     ...

但是,由于图像是由于依赖销毁条件而自动删除的,我不确定如何调用sidekiq worker触发销毁操作后,让图像自动调用sidekiq后台任务的最佳方法是什么?

我通过覆盖图像模型中的默认销毁方法修复了此问题,如下所示:

  # override destroy method to put it in a background task
  class Image < ActiveRecord::Base

  def destroy
    CarrierwaveImageDeleteWorker.perform_async(self.id)
  end
#重写destroy方法以将其置于后台任务中
类映像
您能否使用CarrierwaveImageDeleteWorker代码改进您的答案?
  # override destroy method to put it in a background task
  class Image < ActiveRecord::Base

  def destroy
    CarrierwaveImageDeleteWorker.perform_async(self.id)
  end