attachment_fu и RMagick

После установки RMagick на мой Mac я настроил attachment_fu в соответствии с инструкциями здесь: http://clarkware.com/cgi/blosxom/2007/02/24#FileUploadFu>, когда я пытаюсь загрузить файл через форму загрузки, я получаю около 80 таких сообщений:

/Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick.rb:44: warning: already initialized constant PercentGeometry
/Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick.rb:45: warning: already initialized constant AspectGeometry
/Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick.rb:46: warning: already initialized constant LessGeometry
/Library/Ruby/Gems/1.8/gems/rmagick-2.13.1/lib/RMagick.rb:47: warning: already initialized constant GreaterGeometry

Я немного поискал и обнаружил, что эта проблема может возникнуть, если вам дважды требуется RMagick в приложении, использующем другой регистр для оператора require: http://work.rowanhick.com/2007/12/19/require-rmagick-and-case-sensitive/ Я не требую это я сам, но я подумал, может быть, из-за строки config.gem "rmagick" в моем файле environment.rb рельсы могут потребовать этого.

После отправки формы я получаю ошибку проверки: Content type is not included in the list Я проверил источник для attachement_fu и нашел image/png в списке типов содержимого, поэтому я не верю, что это правильное сообщение об ошибке: http://github.com/technoweenie/attachment_fu/blob/master/lib/technoweenie/attachment_fu.rb

Есть ли у кого-нибудь идеи, как я могу заставить это работать?


person trobrock    schedule 31.05.2010    source источник


Ответы (3)


Если, как и мы, вы используете драгоценный камень (например, gruff), который требует rmagick, как указано выше (и, таким образом, вы не можете исправить регистр require), вы можете настроить сборщик для загрузки rmagick, используя соответствующий регистр.

Например. добавьте в свой Gemfile следующее:

драгоценный камень 'rmagick', '2.13.1',: require => 'RMagick'

Вот и вышло сегодня из настоящего маринада.

Спасибо за исходный пост - мы потерялись, пока не прочитали его!

person Mike Breeze    schedule 26.10.2010

Была аналогичная проблема со скрепкой, решенная удалением строки config.gem 'rmagick' из environment.rb.

person Nikita Rybak    schedule 04.12.2010

Обновление: следующее работает только на Mac. Мой рабочий сервер подавился этим. Не используйте его.

Я тоже столкнулся с этой проблемой. В config / environment.rb у меня есть:

config.gem 'rmagick'

И он должен быть в нижнем регистре, иначе Rails подумает, что у меня не установлен необходимый гем.

Attachment_fu имеет файл с именем rmagick_processor.rb, в котором есть строка:

require 'RMagick'

Если вы измените его на нижний регистр, «require 'rmagick'», сообщения об ошибках RMagick исчезнут.

person Geir Freysson    schedule 23.10.2010
comment
Это потому, что имена в файловой системе HFS + по умолчанию нечувствительны к регистру, и поэтому будет найдена даже библиотека rmAGICK. Очевидно, это не сработает в Linux, где имена чувствительны к регистру. - person Nikita Rybak; 04.12.2010