Rails para upload de arquivos e imagens usando o plugin paperclip 4

Postado por Herminio em março 24, 2009

Bem, irei mostrar como fazer upload de arquivos utilizando o paperclip e poderemos notar como é super simples de utilizar. Se o arquivo for imagem iremos precisar do imagemagick instalado na maquina onde irá ficar sua aplicação, pois o plugin utiliza o imagemagick para mexer com imagens.

Para o download do paperclip existe duas maneiras. Uma é baixando pelo próprio rails e a outra é indo no site e fazendo o download e descompactando na sua aplicação.

O paperclip por sua vez requerer algumas colunas no modelo para que seja necessário o seu funcionamento. E quais são elas?

Pois bem, digamos que na sua aplicação exista o modelo user, onde cada user contem uma imagem que é o seu avatar.  Podemos fazer o seguinte:

Agora iremos trabalhar o paperclip a nível de model. Vamos colocar toda a nossa regra de negocio e veremos como o sistema deverá tratar o upload de arquivos.

Bem não iremos fazer nenhuma modificação nos controllers. Então vamos partir para as views e finalizar o nosso tutorial.

Primeiramente vamos criar um partial, onde essa view será comum tanto para as telas de new.html.erb como edit.html.erb. Em sua aplicação vá até SUA_APLICAÇÂO/app/view/users/ e crie um arquivo chamado _user.html.erb e veja como será o código desse arquivo.

Agora, que temos o partial _user.html.erb precisamos adaptar as telas de edit.html.erb e new.html.erb então vamos seguir o seguinte código:

E nas views index.html.erb e show.html.erb iremos fazer a chamada da imagem.

Finalmente terminamos o nosso objetivo de fazer com que a nossa aplicação faça upload de arquivos. E caso você queira saber mais sobre o paperclip basta acessar a sua Documentação/RDoc ou entrar na lista de discussão do paperclip. É isso pessoal espero que tenham gostado.


Se você gostou desse post, me recomende:

Recommend Me

  • http://www.websimples.org/ Weldys Santos

    Ótimo artigo, porém vi um problema com o paperclip com relação às rotas. Na aplicação, o upload funciona muito bem, a chamada de image.url funciona na boa e o arquivo do link é o mesmo do que foi configurado. O problema é que ao abrir, ocorre um erro dizendo que houve um problema de rota para aquele endereço (o endereço do arquivo)
    Você saberia dizer do que se trata isso?

  • http://www.websimples.org Weldys Santos

    Ótimo artigo, porém vi um problema com o paperclip com relação às rotas. Na aplicação, o upload funciona muito bem, a chamada de image.url funciona na boa e o arquivo do link é o mesmo do que foi configurado. O problema é que ao abrir, ocorre um erro dizendo que houve um problema de rota para aquele endereço (o endereço do arquivo)
    Você saberia dizer do que se trata isso?

  • http://www.herminiotorres.com/ Herminio

    Existe vários erros de rotas, assim sem vê o código e o erro fica meio difícil. Mas você pode colocar seu código em http://pastie.org/ ? Cola teu código de config/routes.rb e o código da view e do controller? Que eu posso analisar e dizer o problema.

    Grato!

  • http://www.herminiotorres.com Herminio

    Existe vários erros de rotas, assim sem vê o código e o erro fica meio difícil. Mas você pode colocar seu código em http://pastie.org/ ? Cola teu código de config/routes.rb e o código da view e do controller? Que eu posso analisar e dizer o problema.

    Grato!

blog comments powered by Disqus