0

process_imagesメソッドを と非同期after_saveで実行したいDelayed::Job。ただし、試してみると:

after_save lambda { send_later(:process_images) }

を取得しNoMethodError: You have a nil object when you didn't expect it!ます。(self.send_later(:process_images)いずれかで動作)

4

1 に答える 1

5

これはうまくいくかもしれません...代わりにDelayed::Job.enqueueに切り替える前に、しばらく前にそれを使用したことを覚えています:

after_save do |image|
  image.send_later(:process_images)
end

あなたも試すことができます:

after_save :cue_process_images

def cue_process_images
  send_later(:process_images)
end

私は現在、ペーパークリップを使用して、後者に似たものを使用していますが、正常に動作します。

于 2011-02-02T21:24:14.557 に答える