Пытается получить многократные загрузки файлов Carrierwave. Я следую документации на главной странице. При попытке загрузить файл или несколько, я получаю no implicit conversion of nil to string
Carrierwave Multiple File Upload + Нет неявного преобразования nil в String
Эта ошибка исходит от этого метода в драгоценный камень Carrierwave найденный в uploaders/cache.rb
def workfile_path(for_file=original_filename)
File.join(CarrierWave.tmp_path, @cache_id, version_name.to_s, for_file)
end
Вопрос заключается в том, что original_file равна нулю. Я попытался проследить проблему, но не могу найти, где проблема действительно начинается. Единственное, что странно, что я последовавший исходный код этого репо
https://github.com/bobintornado/sample-gallery-app-with-carrierwave
Приложение образец работает, и вы можете сделать несколько загрузки. Разница, однако, что, когда cache!
метод называется new_file
является Array
, где в образце приложение, которое работает это Http::UploadedFile
Вот метод кэш
def cache!(new_file = sanitized_file)
new_file = CarrierWave::SanitizedFile.new(new_file)
return if new_file.empty?
raise CarrierWave::FormNotMultipart if new_file.is_path? && ensure_multipart_form
self.cache_id = CarrierWave.generate_cache_id unless cache_id
@filename = new_file.filename
self.original_filename = new_file.filename
begin
# first, create a workfile on which we perform processings
if move_to_cache
@file = new_file.move_to(File.expand_path(workfile_path, root), permissions, directory_permissions)
else
@file = new_file.copy_to(File.expand_path(workfile_path, root), permissions, directory_permissions)
end
with_callbacks(:cache, @file) do
@file = cache_storage.cache!(@file)
end
ensure
FileUtils.rm_rf(workfile_path(''))
end
end
Вот мои первые PARAMS
"coach"=>{"name"=>"ben", "title"=>"ceo", "description"=>"head dude",
"photos"=>[
#<ActionDispatch::Http::UploadedFile:0x007fc9a5235c78 @tempfile=#<Tempfile:/var/folders/sb/t6rry5j928l3sy96nkhy9f840000gn/T/RackMultipart20160113-67635-avg8ef.jpg>, @original_filename="benn-1.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"coach[photos][]\"; filename=\"benn-1.jpg\"\r\nContent-Type: image/jpeg\r\n">,
#<ActionDispatch::Http::UploadedFile:0x007fc9a5235c50 @tempfile=#<Tempfile:/var/folders/sb/t6rry5j928l3sy96nkhy9f840000gn/T/RackMultipart20160113-67635-r8bdxp.jpg>, @original_filename="benn-2.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"coach[photos][]\"; filename=\"benn-2.jpg\"\r\nContent-Type: image/jpeg\r\n">
]}