Я использую Carrierwave для загрузки файлов. Когда файл получен в контроллере, я устанавливаю его в объект модели и сохраняю модель.Сохранение файлов на Rails с Carrierwave
@submission = Submission.new(params[:submission])
@submission.file = params[:submission][:file]
@submission.save
Затем я вижу, что файл сохраняется в структуре каталогов. Я предполагаю, что эта конфигурация определяет каталог
добавлявшие/submission_uploader.rb
def store_dir
"files/#{model.class.to_s.underscore}/#{model.id}/#{mounted_as}/"
end
Я также получать файлы из разных источников. Например, пользователь может загружать zip-файл, затем zip извлекается на сервере, а новый файл создается с каждым извлеченным файлом и теми же параметрами, и он сохраняется.
В этом случае, когда файл получен не из загрузки, а из других источников, например файлов, хранящихся на сервере, при сохранении модели, это та же структура каталогов, сгенерированная при загрузке файла?
Причина, по которой я запутался, заключается в том, что в соответствии с documentation Carrierwave является файловым сервером для загрузки файлов, но это больше связано с реляционным отображением объектов, то есть с сохранением полей файлов объектов модели в базе данных.
Как настроить различные файлы для отправки и убедиться, что они сохранены в той же структуре каталогов, что и при получении файла из загрузки?