Paperclip - переименуйте файл перед сохранением
Я использую этот метод для переименования изображения до сохранения:
def rename_avatar
self.avatar.instance_write :file_name, Time.now.to_i.to_s
end
before_post_process :rename_avatar
Изображение переименовывается по текущему времени, но там не добавлен тип файла, а 1334487964.jpg сохраняется только 1334487964..
Что мне там не хватает? Я думал, что : имя_файла содержит только имя файла - без типа файла
Ответы
Ответ 1
Вот как я исправляю свою проблему:
def rename_avatar
#avatar_file_name - important is the first word - avatar - depends on your column in DB table
extension = File.extname(avatar_file_name).downcase
self.avatar.instance_write :file_name, "#{Time.now.to_i.to_s}#{extension}"
end
Ответ 2
Так как Paperclip
рекомендует использовать interpolates
, эта ссылка может помочь вам.
https://wyeworks.com/blog/2009/7/13/paperclip-file-rename