Ruby on rails 被识别为字符串的请求对象
sidekiq worker的请求对象被识别为字符串 应用程序\u controller.rbRuby 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 =
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把它归结为一个字符串。通常,您希望在该参数中传递最小的数据,如上所述