我有一个模型,它具有一个回调,并且该回调正在通过延迟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