[RoR] Upload de arquivo

21 jan 2012(há 13 anos)
DevelopmentRuby on RailsInstalls
#gemfile#gem#imagemagick#paperclip

Introdução

Depois de algum tempo sem postar sobre rails voltei a assisti minhas videos aulas, e dando continuidade ao nosso producer link e hoje vamos ver como fazer upload de arquivos usando paperclip, sem mais delongas vamos nessa

Requisitos

Para esse parte do projeto é necessário a instalação do imagemagick, que não tem nada a ver com o Ruby ou Rails isso é um componente a ser instalado no OS, para instalar o imagemagick abra o terminal e rode:

sudo apt-get install imagemagick

Outra dependência para upload de arquivos é o paperclip esse é uma dependência referente a Ruby, para a configuração do paperclip é necessário adiciona-lo ao se Gemfile gem 'paperclip', '2.4.5', no meu caso 2.4.5 é a versão do paperclip na atualidade, e em seguida é só rodar bundle install depois disso vamos codificar mais um pouco.

Ou ainda é possivel instalar o paperclip rodamdo um:

gem install paperclip

Se tudo correu bem quando rodarmos um

rails g

Veremos que foi adicionado mais uma generate o: paperclip

Iniciando

Vamos gerar um scaffold ainda não tem nada a ver com o paperclip

rails g scaffold Asset title:string description:string

Em seguida vamos usar o paperclip alterando o Modulo Asset que acabamos de gerar

rails g paperclip Asset document

Vamos rodar o um:

rake db:migrate

Troque o conteudo do asset_controller.rb por esse código.

Vamos agora agora adicionar algumas alterações no model de assets veja o código.

Bem o próximo passo é ajustar o formulário, uma das coisas que dá dor de cabeça até para os desenvolvedores mais experientes é o multipart, se não habilitar o multipart o upload não funciona, então vamos a receita de bolo para implementar o upload de arquivo.

 

  1. Verificar os requisitos comentado neste post
  2. Fazer validações no model
  3. Ativa o multipart do formulário código

 

Conclusão

Bem pessoal é isso com isso nosso projetinho já pode fazer upload de arquivo.