Dica: Configuração do Paperclip

November 14th, 2008

Paperclip é um plugin para Rails que permite o upload de arquivos para a aplicação, e ainda faz transformações em imagens usando o ImageMagick. Também possibilita o armazenamento do arquivo no próprio servidor, ou em serviços como o Amazon S3.

Comecei a usá-lo em abril, algum tempo depois de ser lançado em março. Achei um plugin mais fácil de usar e mais simples que o attachment_fu, por exemplo. Agora vejo muita gente migrando do attachment_fu para o Paperclip, saindo posts em vários blogs da comunidade, como Carlos Brando, Peter Cooper (via Rails Inside) e Ryan Bates.

Um problema comum que estou vendo em muita gente que está começando a usar o Paperclip (EDIT: e se estiver usando Passenger, como bem lembrou o dookie) é subir uma imagem que tenha diferentes versões (:medium e :thumb, por exemplo), mas só aparecer no diretório a versão original. Isso geralmente acontece porque você precisa configurar o caminho para o executável do ImageMagick, o convert.

Então, se você estiver em um sistema *nix, digite:


which convert

e ele retornará o caminho, no meu caso /usr/local/bin/convert.

Daí é só criar um initializer (em config/initializers), por exemplo, paperclip.rb e colocar o conteúdo:


Paperclip.options[:image_magick_path] = '/usr/local/bin'

Se quiser ter configurações diferentes dependendo do ambiente, faça:

1
2
3
4
5
if RAILS_ENV=development
     Paperclip.options[:image_magick_path] = '/usr/local/bin'
else
     Paperclip.options[:image_magick_path] = '/opt/local/bin'
end

Agora reinicie o servidor e tente subir a imagem novamente.

#ficaadica

2 Responses Follows

  1. dookie says

    Lembrando que isso só precisa ser feito quando você usa Passenger, como descobrimos, enquanto testávamos um dos projetos.

  2. shadow says

    Boa lembrança, tinha esquecido disso, já editei o post :)


Your Response