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