У меня есть потоки байтов на сервере, которые я хотел бы присоединить к классу модели с помощью Paperclip, и я хотел бы иметь возможность указать имя, которое они сохраняют в файловой системе.Поскольку у меня много этих входящих файлов, я бы предпочел иметь возможность создавать их как Tempfiles
, чтобы мне не приходилось беспокоиться о конфликтах имен и их удалении вручную и тому подобное.Вот что я делаю:
desired_file_name = 'foo.txt'
Tempfile.open([File.basename(desired_file_name), File.extname(desired_file_name)]) do |tf|
tf.write(content_stream)
tf.rewind
model_obj.paperclip_attachment = tf
end
Это в значительной степени работает.Единственная проблема заключается в том, что мое вложение Paperclip заканчивается именем временного файла, например, foo.txt.201029392u-gyh-foh96y.txt.Итак, как я могу сказать Paperclip, что сохранить мой файл как?Звонок model_obj.paperclip_attachment_file_name = desired_file_name
не работает.Поле БД сохраняется под этим именем, но в файловой системе у меня все еще есть это имя временного файла.