Я обновляю свое приложение до Rails 3.2 на Ruby 1.9. Мне пришлось сбросить attachment_fu
. Очевидно, что Carrierwave стала очевидной заменой. На этом этапе я загружаю файлы в файловую систему (пока нет облачных файлов).
Я нахожусь на Lion, XCode 4.3.2, установлены средства командной строки. Продолжительность:
$ brew doctor
# Your system is raring to brew.
Я могу загружать и изменять размеры изображений в этой конфигурации:
- rails 3.1.4
- ruby 1.8.7
- carrierwave 0.5.8
- mini_magick 3.4
Я могу загружать изображения в новую конфигурацию:
- rails 3.2.3
- ruby 1.9.3 (или 1.9.2)
- carrierwave 0.6.2
(за ним следует $ bundle update
), но изменение размера с помощью mini_magick
возвращает это сообщение об ошибке:
"File Failed to manipulate with MiniMagick, maybe it is not an image Original Error: MiniMagick::Invalid", where File is the carrierwave uploader.
FileUploader содержит:
include CarrierWave::MiniMagick
def store_dir .. end # the shipped default
process :resize_to_limit => [500, 600]
Мой класс Attachment (с mount_uploader :file, FileUploader
) является родительским элементом Portrait
, ReferenceLetter
и другими типами вложений. Каждый из классов привязки наследуется от Attachment
, является :polymorphic => true
и belongs_to :attachable
(User), которые, в свою очередь, has_many :portraits
, :reference_letters
и т.д. :as => :attachable
.
Ни один из них не работал (связан с страницей известных проблем с несущей):
Почему этот вызов RMagick вызывает ошибку сегментации?
Я не хотел устанавливать ImageMagick вручную, как предлагается здесь:
carrierwave + mini_magick gems = не ошибка изображения
Я использую Homebrew. Помощь была бы фантастической. Спасибо.