如果属性已更改,则该方法不适用于Rails Delay sidekiq扩展

时间:2018-06-28 16:41:43

标签: ruby-on-rails ruby-on-rails-4 sidekiq

我有一个模型,它具有一个回调,并且该回调正在通过延迟sidekiq扩展。最后,它转到handle的update_version方法,它应该放在if块中,但是由于sidekiq在提交给db之前可用,因此总是说false。

Car.rb

after_save :update_color

def update_color
   Car.sidekiq_delay_for(1, :queue => Sidekiq::Queues::DEFAULT_QUEUE).update_color(self.id)
end

def self.update_color(id)
  car = Car.find_by_id(id)
  car.update_version_of_handle
end

def update_version_of_handle
  if car.some_attribute_changed? 
     puts "Yes changed"
  end
end

0 个答案:

没有答案