URL изображения CarrierWave - PullRequest
5 голосов
/ 30 июня 2011

У меня есть модель, которая имеет:

    mount_uploader :image, ImageUploader

При загрузке изображения я хочу получить из изображения некоторую ширину, высоту и некоторые данные EXIF. В фильтре before я звоню self.image.url, но это возвращает что-то вроде:

/ загрузки / TMP / 20110630-1316-10507-7899 / emerica_wildinthestreets.jpg

Проблема в том, что когда я пытаюсь открыть это изображение, используя:

image = MiniMagick::Image.open(self.image.url)

Я получаю "Нет такого файла или каталога - /uploads/tmp/20110630-1312-10507-6638/emerica_wildinthestreets.jpg". Кажется, что изображение уже было перемещено из папки tmp в его окончательное местоположение, но self.image.url не отражает это изменение.

Я тоже пробовал это в after_save методе, но результат тот же. Есть идеи?

1 Ответ

5 голосов
/ 30 июня 2011

Оказывается, мне нужно добавить "# {Rails.root.to_s} / public /" в self.image.url

...