2014-07-20 27 views
1

這裏未定義的方法是什麼我打電話:Sidekiq字符串

UpdateRatingAndCountWorker.perform_async(133) 

這裏是我的工人:

# app/workers/update_rating_and_count_worker.rb 
class UpdateRatingAndCountWorker 
    include Sidekiq::Worker 

    def perform(review_id) 
    review = Review.find(review_id.to_i) 
    review.style.update_average_rating! 
    end 
end 

以下是錯誤:

"NoMethodError: undefined method `style' for \"#<Review:0x00000005bef438>\":String" 

回答

0

在錯誤消息看起來像變量review.style的類型是String

既然你還沒有發佈的代碼爲模型Review我只能猜測,但是,它應該是

# app/workers/update_rating_and_count_worker.rb 
class UpdateRatingAndCountWorker 
    include Sidekiq::Worker 

    def perform(review_id) 
    review = Review.find(review_id.to_i) 
    review.update_average_rating! 
    end 
end 
+0

嘿感謝您的回答。我傳遞一個ID並根據該ID查找評論。評論屬於Style。這似乎是審查對象是一個字符串由於某種原因,並沒有能力在工作人員內調用其關聯? – Abram

+0

嗯好吧,聽起來很奇怪,如果你試圖在控制檯裏執行'perform'的代碼,它會工作嗎? –

0

重啓Sidekiq工作對我來說,它拿起新的方法,在我的模型

相關問題