Projeto torne-se um programador - Rails - Routes
Nessa aula iremos iniciar uma aplicação web do zero, agora passo a passo. Iremos ver algumas rotas utilizadas e como criar o fluxo do controller até a view.
Nesta aula falaremos sobre:
criação manual de estruturas
HTTP Verbs(GET, POST, PUT, DELETE)
Hoje entenderemos a fundo as funções dos generators para não ficar perdido e entender como funcionam as coisas no Rails por baixo dos comandos básicos.
Para gerar uma nova aplicação Rails faça:
rails new rails_manual_app -d mysql
O rails g é uma abreviação para rails generate, e o próximo parâmetro é o nome desejado para nosso app.
O -d mysql é uma abreviação para database, onde o próximo parâmetro é o banco de dados desejado, podendo utilizar mysql, postgres, sqlite por exemplo.
Depois da aplicação ser gerada, abra a pasta do projeto num editor de código.
O Rails já traz uma estrutura padrão, na pasta app/layouts, você encontra o arquivo application.html.erb, ele é nosso arquivo base para a aplicação, o yield , é onde todo código do meio da página será renderizado.
Um dos principais arquivos que trabalharemos será o routes.rb ele é encontrado dentro de app/config, o Rails utiliza a nomenclatura root para dizer que esta é a principal página, a que é renderizada primeiro na rota /, da aplicação.
Até o momento indicamos qual controller deve ser utilizado na nossa rota base, mas não criamos ele, vamos fazer isso agora.
Temos 2 formas de fazer isso, criando o arquivo manualmente, ou usando o generator de controller, que é o nosso caso, então faça como abaixo.
Como você verá além do arquivo do controller ele também gera arquivos de teste, diretório para as views, arquivos para os assets de js e css, todo esqueleto base que é necessário.
Agora dentro de app/controllers temos o arquivo home_controller.rb
Obs.: Note que na criação utilizamos home_controller mas nas rotas é omitido a palavra controller, por convenção do Rails.
Pronto, mas note que não temos o método index ou qualquer outro no nosso controller, inclusive receberemos um erro ao acessar a aplicação agora.
Criamos um método index então:
Preocupe-se com a estrutura é de extrema importância para nossa view criaremos um arquivo que será responsável pela exibição inicial:
Navegue até app/views/home, crie um arquivo chamado index.html.rb, dentro dele coloque:
Faremos um pequeno ajuste no layout que está em app/views/layouts/application.html.erb, inclua o código abaixo logo após a TAG body .
Acabamos de fazer um pequeno menu para nossa aplicação, como ele foi definido no layout geral do app, todas views que usarem esse mesmo layout padrão terão o menu!
Agora acessando nossa aplicação veremos o texto Danilo na rota principal('/').
Para criar a opção Sobre podemos começar com a rota:
get "/sobre", to:"sobre#index"
O resto do processo segue exatamente igual ao anterior.
Criaremos um controller e a view.
rails g controller sobre
Com o controller criado, faremos o método index dele.
def index;end
Como usamos o generator já temos a pasta sobre dentro de views, então só ajustar o HTML agora. Crie um arquivo index.html.erb.
Está é a minha página Sobre
Nesta aula vimos melhor sobre como funciona o relacionamento entre os controllers as rotas e as views, também entendemos melhor o que o Rails gera códigos e estruturas com o comando generate que pode ser abreviado somente como g, entendemos que é importante seguir as convenções que o Rails impõe para um fluxo mais fácil de trabalho, para ganhar velocidade no desenvolvimento com Rails deve-se aproveitar dessas facilidades e convenções.