Tutorial de Aplicação Rails Girls
Criado por Vesa Vänskä, @vesan
Certifique-se de que você tem o Rails instalado! Siga o guia para instalar.
Conheça as ferramentas
Text Editor
- Atom, Sublime Text, Vim e Emacs são examplos de editores de texto que você pode usar para escrever código e editar arquivos.
Terminal (conhecido como Prompt de Comando no Windows)
- É onde você inicia o servidor Rails e executa comandos.
Navegadores
Importante
É importante que você selecione e siga instruções específicas para o seu sistema operacional - os comandos que você precisa executar em um computador com Windows são um pouquinho diferentes daqueles que você usaria em um Mac ou em um computador com Linux. Se você tiver alguma dúvida em relação a isso, verifique o seletor de Sistema Operacional logo abaixo dos comandos. Caso você esteja utilizando um serviço de nuvem (Nitrous, por exemplo), você precisa executar os comandos para Linux mesmo que seu computador use Windows.
1.Criando a aplicação
Nós vamos criar uma nova aplicação Rails chamada railsgirls.
Primeiro, vamos abrir uma janela do terminal:
- Mac OS X: Abra a busca Spotlight, digite Terminal e clique no aplicativo Terminal.
- Windows: Clique em Iniciar (Start) e procure por Prompt de Comando (Command Prompt), então clique Command Prompt with Ruby on Rails.
- Linux (Ubuntu/Fedora): Procure por Terminal no dash e clique em Terminal.
- Serviço de nuvem (Nitrous, entre outros): Faça login na sua conta, inicie seu projeto e mude para a respectiva IDE (veja o guia de instalação para maiores detalhes). O terminal geralmente está na parte de baixo da janela do seu naveador.
Depois, digite os seguintes comandos no terminal:
Você pode verificar que um diretório com o nome de projects
foi criado executando o comando: ls
. Você deve ver o diretório projects
listado. Agora, você deve mudar o diretório no qual você se encontra para a pasta projects
executando o comando:
Você pode verificar que agora você está em um diretório vazio. Para fazer isso, execute o comando ls
. Agora, você criará uma nova aplicação chamada railsgirls
executando o seguinte comando:
Isso criará uma nova aplicação dentro da pasta railsgirls
, então novamente nós queremos mudar de diretório, entrando no diretório da nossa aplicação Rails. Faremos isso executando o seguinte comando:
Se você executar o comando ls
dentro deste diretório, você verá pastas como, por exemplo, app
e config
. Agora você pode iniciar o servidor Rails executando o comando:
Você pode verificar que um diretório com o nome de projects
foi criado executando o comando: dir
. Você deve ver o diretório projects
listado. Agora, você deve mudar o diretório no qual você se encontra para a pasta projects
executando o comando:
Você pode verificar que agora você está em um diretório vazio. Para fazer isso, execute o comando dir
. Agora, você criará uma nova aplicação chamada railsgirls
executando o seguinte comando:
Isso criará uma nova aplicação dentro da pasta railsgirls
, então novamente nós queremos mudar de diretório, entrando no diretório da nossa aplicação Rails. Faremos isso executando o seguinte comando:
Se você executar o comando dir
dentro deste diretório, você verá pastas como, por exemplo, app
e config
. Agora você pode iniciar o servidor Rails executando o comando:
Abra a URL http://localhost:3000 no seu navegador. Se você estiver usndo um serviço de nuvem (Nitrous, por ex.), use sua funcionalidade de pré-visualização (veja o guia de instalação para maiores detalhes).
Você deverá ver uma página “Welcome aboard”, o que significa que a criação da sua nova aplicação funcionou direitinho.
Note que nesta janela o prompt de comando não está visível porque você está agora no servidor Rails, o prompt de comando se parece com isso:
Quando o prompt de comando não está visível, você não pode executar novos comandos. Se você tentar executar ‘cd’ ou outro comando, não funcionará. Para retornar ao prompt normal:
Pressione Ctrl+C na janela do terminal para encerrar o servidor.
Treinadores: Expliquem o que cada comando faz. O que foi gerado? O que o servidor faz?
2.Crie o scaffold para Ideias
Nós vamos usar a funcionalidade de scaffold do Rails para gerar um ponto de partida que nos permita listar, adicionar, remover, editar e visualizar coisas; no nosso caso, ideias.
Treinadores: O que é o scaffolding do Rails? Explique o comando, o modelo, o nome do modelo e a tabela do banco de dados relacionada a ele, convenções de nomes, atributos e tipos, etc. O que são as migrações e por que você precisa delas?
O scaffold cria os novos arquivos no diretório do seu projeto, mas para que isso funcione nós precisamos executar alguns outros comandos para atualizar nosso banco de dados e reiniciar o servidor.
Abra a URL http://localhost:3000/ideas no seu navegador. Usuários de serviços na nuvem (Nitrous, por ex.) devem acrescentar ‘/ideas’ à URL de pré-visualização (veja o guia de instalação).
Clique por aí e teste o que você obtém ao executar estes poucos comandos.
3.Design
Treinadores: Fale sobre a relação entre HTML e Rails. Que parte das views é HTML e que parte é Ruby Embutido (ERB)? O que é MVC e como isso se relaciona? (Models e controllers são responsáveis por gerar as views em HTML.)
A aplicação ainda não está bonita. Vamos fazer algo em relação a isso! Nós usaremos o Twitter Bootstrap para nos ajudar a deixar as coisas mais bonitas facilmente.
No seu editor de texto, abra o arquivo app/views/layouts/application.html.erb
e acima da linha
adicione
e substitua
por
Também vamos adicionar uma barra de navegação e um rodapé ao layout. No mesmo arquivo, abaixo de <body>
adicione
e antes de </body>
adicione
Agora, vamos mudar também a cara da tabela de ideias. Abra o arquivo app/assets/stylesheets/application.css
e no final adicione
Certifique-se que você salvou seus arquivos e recarregue a janela do navegador para ver as mudanças. Você pode modificar ainda mais o HTML e o CSS.
Caso sua janela do Terminal mostre uma mensagem de erro que meio que sugere que algo está errado com seu JavaScript ou CoffeeScript, instale o nodejs. Esse problema não deve acontecer caso você tenha utilizado o RailsInstaller (e sim quando você instalou o Rails via gem install rails
).
Treinadores: Falem um pouco sobre CSS e layouts.
4.Adicionando upload de imagens
Precisamos instalar um pequeno software que nos permita fazer o upload de arquivos no Rails.
Abra o arquivo Gemfile
no diretório do projeto utilizando o seu editor de textos e abaixo da linha
adicione
Treinadores: Expliquem o que são as bibliotecas (libraries) e porque elas são úteis. Descrevam o que é o software de código aberto (open source).
Pressione Ctrl+C na janela do terminal para encerrar o servidor.
No terminal, execute:
Agora nós poderemos gerar o código para gerenciar uploads. No terminal, execute:
Por favor, inicie o servidor Rails agora.
Nota: Algumas pessoas talvez estejam usando uma segunda janela do terminal para executar o servidor Rails continuamente. Neste caso, você precisa reiniciar o processo do servidor Rails agora. Isso é necessário para que a aplicação carregue a biblioteca recém-adicionada.
Abra o arquivo app/models/idea.rb
e abaixo da linha
adicione
Abra o arquivo app/views/ideas/_form.html.erb
e modifique
para
Às vezes, você pode obter um erro assim: TypeError: can’t cast ActionDispatch::Http::UploadedFile to string.
Se isso acontecer, no arquivo app/views/ideas/_form.html.erb
modifique a linha
para
No seu navegador, adicione uma nova ideia (idea) com uma imagem. Quando você fizer o upload da imagem, não vai estar bonito porque só mostrará o caminho para o arquivo. Vamos ajeitar isso!
Abra o arquivo app/views/ideas/show.html.erb
e modifique
para
Agora, recarregue a janela do seu navegador para ver o que mudou.
Treinadores: Falem um pouco sobre HTML.
5.Aperfeiçoando as rotas
Abra a URL http://localhost:3000 (ou sua URL de pré-visualização no caso de utilizar um serviço na nuvem). Ela ainda mostra a página “Welcome aboard”. Vamos fazer com que ela redirecione para a página que contém as ideias.
Abra o arquivo config/routes.rb
e após a primeira linha, adicione
Teste a mudança abrindo o caminho raiz (ou seja, http://localhost:3000/ ou sua URL de pré-visualização) no seu navegador.
Treinadores: Falem sobre rotas (routes) e incluam detalhes sobre a ordem das rotas e sua relação com arquivos estáticos.
Crie uma página estática em sua aplicação
Vamos adicionar uma página estática à sua aplicação que conterá informações sobre sua autoria, ou seja, sobre você!
Este comando criará uma nova pasta sob app/views
chamada /pages
e sob ela um arquivo chamado info.html.erb
que será sua página de informação.
O comando também adiciona uma rota simples ao seu arquivo routes.rb.
Agora você pode abrir o arquivo app/views/pages/info.html.erb
e adicionar as informações sobre você no HTML. Para ver sua nova página de informação, abra a URL http://localhost:3000/pages/info em seu navegador ou, caso esteja utilizando um serviço na nuvem, acrescente ‘/pages/info’ à sua URL de pré-visualização.
6+.O que vem agora?
- Dê uma olhada nos arquivos em
app/views/ideas
e traduza eles - Siga para a próxima parte do tutorial