我正在尝试使用sidekiq:
通过后台受保护的方法更新我的对象主体字段class BodyWorker
include Sidekiq::Worker
sidekiq_options retry: false
def perform(offer_id)
offer = Offer.find(offer_id)
remove_html(offer)
offer.publish!
end
protected
def remove_html(offer)
offer.body = ''
offer.save
end
根据控制台没有错误,但是offer.body保持不变。有什么建议吗?
答案 0 :(得分:2)
根据控制台没有错误
您是否使用类似
之类的内容从控制台进行检查BodyWorker.perform_async(offer.id)
然后想知道为什么你的offer
没有更新?这是Offer
的另一个实例,已更新并保存。而你的不会从数据库中神奇地拉出最新状态。使用
offer.reload
答案 1 :(得分:0)
保护
def remove_html(offer) offer.body = '' offer.save end
尝试
offer.save!