Почему не работает постобработка скрепки? - PullRequest
3 голосов
/ 11 марта 2011

Здравствуйте. Я просматривал различные учебные пособия для постобработки Paperclip, но почему-то я не могу заставить вызываться метод 'Make'.

Взгляните на строку 36 здесь ... http://pastie.org/private/epfgcxywhyh4wpmozypg

Обычно он загружается без каких-либо ошибок или предупреждений, но я никогда не вижу инструкции put в методе make, который говорит мне, что это не вызывается.

EDIT

Я могу запустить это в модели без проблем, и я получаю True,

def class_exists?(class_name)
   klass = Paperclip.const_get(class_name)
   return klass.is_a?(Class)
rescue NameError
   return false
end

Есть идеи?

Ответы [ 2 ]

4 голосов
/ 16 марта 2011

Два дня назад я столкнулся с той же проблемой.Вот что я сделал, чтобы заставить его работать:

Перейдите в командную строку и введите команду: "convert".Это команда ImageMagick, поэтому, если она говорит / usr / bin / convert, попробуйте добавить

Paperclip.options[:command_path] = "/usr/bin"

в config / environment / development.rb .Удалить / конвертировать из того, что вы получаете там.

затем измените имя вашего файла file_contents.rb на paperclip_postprocess.rb и поместите его в каталог: RAILS_ROOT / config / initializers / paperclip_postprocess.rb

Вы можете перепроверить, обрабатывается ли ваше вложение или нет, добавив в вашу модель следующие строки:

   before_post_process :before_post_process
   after_post_process :after_post_process

   def before_post_process
        puts "===========Before processing attachment==========="
   end

   def after_post_process
        puts "-----------After processign attachment------------"
   end

Взгляните здесь

Это сработало для меня, по крайней мере.

0 голосов
/ 12 марта 2011

Я заметил эту строку в Скрепке README:

ПРИМЕЧАНИЕ. Поскольку процессоры работают, превращая исходное вложение в стили, процессоры не будут запускаться, если не определены стили.

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

...