2015-09-15 62 views
1

我想通過在後臺一個受保護的方法來更新我的對象體場更新,使用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 

據控制檯沒有錯誤,但該要約。身體保持不變。有什麼建議?

+0

你有沒有想過這個?我有類似的問題,我不知道該怎麼做。 –

回答

0

保護

def remove_html(offer) 
    offer.body = '' 
    offer.save 
end 

嘗試

offer.save! 
+0

不, –

2

據控制檯沒有錯誤

你從控制檯檢查用的東西像

BodyWorker.perform_async(offer.id) 

然後想知道爲什麼你的offer沒有更新?這是更新和保存的Offer的另一個實例。而且你的魔法不會從數據庫中拉出最新的狀態。通過使用像手動刷新它

offer.reload 
+0

感謝提示,但我仍然不能保存我的工作人員使用方法的任何更改。 –

+0

嗯,太糟糕了?我的水晶球今天顯示出很多靜電。 (提示:http://sscce.org/) –