Paperclip.run 'jpegoptim' - проблема с параметрами - PullRequest
2 голосов
/ 07 марта 2011

В моей модели, имеющей has_attached_file, у меня есть следующий код:

before_post_process :jpeg_optim_compression

...

def jpeg_optim_compression
  path = attachment.queued_for_write[:original].path
  Paperclip.run("jpegoptim", "-o --strip-all #{path}")
end

И локально работает нормально, выдавая следующий вывод:

[paperclip] jpegoptim -o --strip-all temporary_path_to_attachment  2>/dev/null

Но при развертывании на промежуточном сервере возникает ошибка:

[paperclip] jpegoptim '-o --strip-all temporary_path_to_attachment' 2>/dev/null

Paperclip::PaperclipCommandLineError (Error while running jpegoptim. Expected return code to be 0 but was 3):

Мне потребовалось некоторое время, чтобы понять, что эти цитаты были причиной (я предположил, что некоторые проблемы с доступом к файлам и другие). После изменения на

Paperclip.run("jpegoptim -o --strip-all #{path}")

OR

Paperclip.run("jpegoptim -o --strip-all", "#{path}")

это работает. У кого-нибудь есть идея, почему это так?

Спасибо за любые предложения!

...