Я использую Carrwave с jquery fileupload для загрузки звуковых файлов. Я меняю каталог кеша, но не понимаю, почему он создает его дважды. Вот мой sound_uploader.rb:
# encoding: utf-8
require 'carrierwave/processing/mime_types'
class SoundUploader < CarrierWave::Uploader::Base
store :file
after :cache, :after_cache
before :store, :before_store
after :store, :after_store
def after_cache(file)
puts 'AFTER CACHE'
end
def before_store(file)
puts 'BEFORE STORE'
end
def after_store(file)
puts 'AFTER STORE'
end
def cache_dir
"#{Rails.root}/tmp/uploads"
end
def store_dir
"#{Rails.root}/uploads/files/#{model.user_id}/#{model.id}"
end
end
Он возвращает меня в мою консоль:
AFTER CACHE
AFTER CACHE
BEFORE STORE
AFTER STORE
Кроме того, он создает 2 папки кеша с разными cache_id, и я не могу удалить 1-й файл кеша.
РЕДАКТИРОВАТЬ: я вставляю свой SoundController
def create
puts 'HELLO WORLD!'
...
end
И я заметил, что результат:
AFTER CACHE
HELLO WORLD!
AFTER CACHE
BEFORE STORE
AFTER STORE
Это означает, что он помещает в кеш мой файл до того, как фактически создаст мой звук. Я до сих пор не понял, почему, но это может быть ключом к решению моей проблемы.