То, что я пытаюсь сделать, это использовать Sideqik для чтения некоторых данных из файла в фоновом режиме. Моя проблема заключается в том, что когда я передаю UploadedFile с моего контроллера на рабочего, он переходит из UploadedFile в Hash.Sidekiq UploadedFile становится Hash
В создании метода моего контроллера:
file = params[file_key]
if not (file.nil? or file.class == ActionDispatch::Http::UploadedFile)
raise "File not a file in Controller!"
elsif not file.nil?
ImporterWorker.perform_async(name, file)
end
Исключение не поднимается, и мы весело идти на ImporterWorker, который имеет:
def perform(name, file)
if not file.class == ActionDispatch::Http::UploadedFile
raise "File is: #{ file.class }:#{ file.inspect }"
end
...
Когда возбуждается исключение, с «Файл is: Hash: ", за которым следует огромная цепочка произвольных вещей, которые я представляю, это представление содержимого файла, за которым следует« 'original_filename' => 'Foo.xls' и другие подобные поля.
Почему это становится хешем? Что я могу сделать, чтобы исправить это?