Я использую gem paperclip (3.5.1) в рельсах (3.2.13) для загрузки изображений на S3. Мне нужно изменить их размер, поэтому у меня есть imagemagick (6.8.6-3:), и я на OS X 10.8.
Все отлично поработало, я смог загрузить изображение на S3, поэтому решил добавить: большой палец и: средний размер для стилей в has_attached_files. Он работает с консоли на тестовом изображении, но не тогда, когда я пытаюсь загрузить одно и то же изображение и сохранить его в контроллере. Я получаю эту ошибку:
Параметры: { "authenticity_token" = > "G15ab7cv9a7N8YT2gMuRSV + DqzNIEDK5/M + Cno/XLbE =", "qqfile" = > "test.jpg", "locale" = > "en" } Пользовательская загрузка (0,3 мс) SELECT "users" . * FROM "users" WHERE "users" . "Id" = 1 LIMIT 1 Command:: file -b --mime './app/assets/images/test.jpg' Command:: ident -format '% wx% h,% [exif: orientation]' '/var/folders/df/lhvn6g596fl5vmpwym6t04c80000gn/T/test20130814-88788-1kazksg.jpg[0] Command:: ident -format% m '/var/folders/df/lhvn6g596fl5vmpwym6t04c80000gn/T/test20130814-88788-1kazksg.jpg[0]' Command:: ident -format% m '/var/folders/df/lhvn6g596fl5vmpwym6t04c80000gn/T/test20130814-88788-1kazksg.jpg[0]' Command:: ident -format% m '/var/folders/df/lhvn6g596fl5vmpwym6t04c80000gn/T/test20130814-88788-1kazksg.jpg[0]' Command:: convert '/var/folders/df/lhvn6g596fl5vmpwym6t04c80000gn/T/test20130814-88788-1kazksg.jpg[0]' -auto-orient -resize "100x100 > " '/var/folders/df/lhvn6g596fl5vmpwym6t04c80000gn/T/test20130814 -88788-1kazksg20130814-88788-6efk1m 'Завершено 500 внутренних ошибок сервера в 1777 м.
NoMethodError (undefined метод `gsub 'для nil: NilClass):
Итак, он сбой в этой строке:
@document.original = uploaded_file
Но только когда у меня это есть в Document.rb:
has_attached_file :original, :styles => {:thumb => "100x100>",:small => "150x150>", :medium => "400x400"}
Когда я покидаю :styles = {}
, все работает, а также работает с консоли, поэтому я смущен. Я думаю, что это может быть что-то с разрешениями в OS X для imagemagick.