Sidekiq未定义字符串的方法

时间:2014-07-20 23:02:42

标签: ruby-on-rails 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"

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

重启Sidekiq对我有用,它在我的模型中选择了新方法