Criando uma página home numa aplicação Rails
Neste post vamos criar e configurar a home da aplicação que fizemos no post sampope 1.Quando criamos nossa aplicação Rails, nós rodamos o rails s para rodar a aplicação na nossa máquina e podermos acessar via navegador. Quando fizemos isso, vimos uma tela que mostrava a imagem de comemoração do Rails:
Agora vamos mudar isso para uma home nossa. Não será nada muito complexo, afinal neste momento nossa aplicação ainda não faz nada. Só queremos mostrar o nome da nossa aplicação ao invés dessa imagem genérica do Rails.
1 - Crie o arquivo index.html
Se já fizemos sites antes, sabemos que em algum lugar vai existir um arquivo index. Ok.Onde coloco isso no Rails?
Considerando que o Rails é um framework que segue os padrões MVC, um arquivo de uma pagina que será acessada via navegador deve ser colocado no diretório views.
Mas, além de views, precisamos também considerar as convenções do Rails. Para a magia dele toda funcionar na nossa aplicação, o diretório views deve estar sempre organizado com subdiretórios que por suas vez são nomeados com base nas controllers que os controlam.
Então, o nome completo do nosso arquivo index será:
app/views/home/index.html
2 - Coloque o conteúdo no arquivo e salve
Uma vez que tivermos o arquivo index.html criado no lugar certo, vamos colocar alguma coisa lá para ele mostrar:<!-- app/views/home/index.html --> <h1>sampope</h1> <h2>Uma aplicação Rails 6</h2> <h3>Autoria: Vivi Poit</h3>
E salvar.
3 - Crie o arquivo home_controller.rb
Novamente precisamos seguir os padrões MVC e as convenções Rails. Nesse momento, isso quer dizer que para mostrarmos uma página que está em app/views/home/, precisamos ter um arquivo home_controller no diretório controllers.Como se trata de um arquivo Ruby, colocamos a extensão rb e temos o nome completo:
app/controllers/home_controller.rb
4 - Declare a classe HomeController no arquivo e salve
Na convenção Rails, usamos snake_case para nomes de arquivos (home_controller) e CamelCase para nomes de classes (HomeController).# app/controllers/home_controller.rb class HomeController < ApplicationController end
Vale notar aqui que a classe HomeController herda da classe ApplicationController. Isso faz parte da magia do Rails e será muito útil ao longo do desenvolvimento.
Se estiver tudo igual no seu arquivo, salve.
5 - Crie a rota para home#index
Agora que nossa View e nossa Controller já existem, vamos anunciar isso para o Rails. Fazemos isso num arquivo que já existe: config/routes.rb.Dentro dele vamos informar que temos uma área da nossa aplicação chamada home, e que dentro dela já temos uma resposta para GET index.
# config/routes.rb Rails.application.routes.draw do namespace :home do get :index end end
Se estiver tudo certo aí, salve.
Agora, se rodarmos rails s e navegarmos para http://localhost:3000/home/index, já veremos nossa página!
Para que ela seja a home de fato, precisamos que ela apareça quando navegarmos simplesmente para http://localhost:3000. Vamos lá!
6 - Configure a rota root
Root significa raiz. O Rails entende que a página que você quer mostrar quando o domínio é acessado sem nenhum caminho, é a raiz do domínio.Então, agora, o que precisamos fazer é declarar que essa home#index é a nossa root. Fazemos isso no próprio config/routes.rb, adicionando a linha root to: 'home#index'.
# config/routes.rb Rails.application.routes.draw do namespace :home do get :index end root to: 'home#index' end
Salvamos isso e pronto!
Agora, quando apontamos o navegador para http://localhost:3000, vemos nossa home e não mais a página de comemoração do Rails!
Agora temos uma home customizada! Show de bola!



Nenhum comentário:
Postar um comentário