Ruby on rails 被识别为字符串的请求对象

Ruby on rails 被识别为字符串的请求对象,ruby-on-rails,controller,sidekiq,Ruby On Rails,Controller,Sidekiq,sidekiq worker的请求对象被识别为字符串 应用程序\u controller.rb def log_variant @request = request AnalyticsWorker.perform_async(@request) end variant_worker.rb class VariantWorker include Sidekiq::Worker def perform(current_request) variant =

sidekiq worker的请求对象被识别为字符串

应用程序\u controller.rb

  def log_variant
    @request = request
    AnalyticsWorker.perform_async(@request)
  end
variant_worker.rb

class VariantWorker

  include Sidekiq::Worker

  def perform(current_request)
    variant = current_request.variant.join
    puts variant
  end  
end
这里是错误

undefined method `variant' for "#<ActionDispatch::Request:0x00000101b83510>":String
“#”的未定义方法“variant”:字符串
我将请求对象存储在一个实例变量中,因此我应该能够对其调用variant方法。是吗?请求对象是否太复杂,无法执行此sidekiq操作?

在后台,sidekiq正在将该参数序列化到Redis中。我猜Redis把它归结为一个字符串。通常,您希望在该参数中传递最小的数据,如上所述