Всем привет!
Обновил CarrierWave до версии 1.1.0 и он перестал загружать файлы.
Пример uploader:
class SmallImageUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{model.id}/#{mounted_as}"
end
version :thumb do
process :resize_to_fill => [30, 30]
end
def filename
if original_filename
@name ||= Digest::MD5.hexdigest(File.dirname(current_path))
"#{@name}.#{file.extension}"
end
end
end
В модели:
class Page < ApplicationRecord
mount_uploader :small_image, SmallImageUploader
end
В логах видно что в параметрах приходит картинка, и идет обновление записи в БД:
Started PATCH "/admin/pages/3" for 127.0.0.1 at 2017-07-01 20:33:58 +0300
Processing by Admin::PagesController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"pX1q4bYOc53S3wB1DHIMOQ2cakqNs9yZOlVeoMnfXjY/HdeTw2gm6TxdF5VYduDOwG6ZRHTdo9xhWk8Jd8zVbw==", "page"=>{"parent_id"=>"1", "template_id"=>"3", "is_published"=>"1", "sitemap_included"=>"1", "current_page_id"=>"3", "current_page_parent_id"=>"1", "short_slug"=>"test", "title"=>"тест", "meta_title"=>"тайтл", "meta_description"=>"", "h1"=>"h1 заголовок", "description"=>"", "content"=>"", "small_image"=>#<ActionDispatch::Http::UploadedFile:0x007fd922fe3578 @tempfile=#<Tempfile:/var/folders/fc/brjvffk935ldlwt9k6h7r9y80000gn/T/RackMultipart20170701-3007-irj5st.png>, @original_filename="artSoft.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"page[small_image]\"; filename=\"artSoft.png\"\r\nContent-Type: image/png\r\n">}, "id"=>"3"}
SQL (0.6ms) UPDATE "pages" SET "small_image" = $1, "updated_at" = $2 WHERE "pages"."id" = $3 [["small_image", "cc449841f91da17943902c04384642e2.png"], ["updated_at", "2017-07-01 17:33:59.005954"], ["id", 3]]
Но самого файла в папке uploads не появляется. В CarrierWave 0.11.2 все работает корректно. В чем может быть проблема?
Версия Rails 5.1.2
Проверял у себя на машине с MacOS 10.12 и на сервере Ubuntu 16.04