Criando uma aplicação Rails (parte 3)

Agora que já estamos mais familiarizados com uma aplicação Rails, vamos começar a trabalhar em nosso projeto!

Nosso primeiro objetivo é criar uma tela de boas vindas para nossos usuários. Ao acessar http://localhost:3000/ essa tela deve ser exibida ao invés da tela padrão que temos hoje.

Vamos lá!

Criando uma rota

Usuários comuns costumam falar de endereços e URLs. Devs cuidam de rotas.

Quando algum usuário acessa uma página, submete um formulário ou clica em um link, é preciso determinar que código deve ser executado para atender essa solicitação.

As rotas criadas pelo desenvolvedor dão esse caminho. Numa aplicação Rails as rotas são definidas no arquivo config/routes.rb.

Vamos abrir o Atom e navegar até esse arquivo: atom .

O arquivo original possui mais de 50 linhas comentadas com exemplos de rotas. Vamos apagar essas linhas e deixar nosso arquivo limpo.

Rails.application.routes.draw do

end

Uma rota deve definir um método HTTP, um caminho e que trecho de código deve ser executado quando o usuário acessar o caminho.

Nossa tarefa diz que o usuário deve acessar http://localhost:3000/welcome pelo browser (tente acessar antes de continuar). Vamos então definir uma rota com método GET para o caminho /, que representa a raíz da nossa aplicação.

Rails.application.routes.draw do

  get '/' => 'welcome#index'

end

Pronto! Nossa aplicação já sabe que ao acessar a rota / deve ser acionado o controller welcome e a action index.

Se tentarmos acessar o caminho em nosso browser já teremos um aviso do Rails de que o WelcomeController não existe.

Uninitialized Controller

Criando um controller

Controllers são os componentes acionados pelas rotas para atender uma requisição. Em nosso exemplo, precisamos criar o controle welcome.

Como já vimos, na nossa aplicação os controllers devem ser criados na pasta app/controllers. Outra convenção para que o Rails reconheça nosso controller é sua nomenclatura.

Um controller deve ser um arquivo rb com o sufixo _controller.

No terminal, vamos criar o welcome_controller.rb (estou assumindo que já estamos na raiz de nossa aplicação):

touch app/controllers/welcome_controller.rb

Todo controller é uma classe e por isso vamos nosso welcome_controller no Atom dessa forma:

class WelcomeController < ApplicationController
end

O que acabamos de fazer foi declarar a classe WelcomeController sem nenhum método.

Declaramos que nossa classe deve herdar de ApplicationController. ApplicationController é uma controller padrão existente no Rails e herdá-lo garante que nosso controller terá todos os comportamentos esperados por um controller Rails.

Criando uma action

Um controller é uma classe. E toda classe pode ter métodos. Num controller Rails vamos usar métodos para criar actions.

Como o nome já indica, actions representam ações e essas ações, de forma geral, fazem o elo entre um controller e uma view.

Exemplificando, um controller para gerenciar usuários de uma aplicação poderia ter a seguinte estrutura. Onde new, save e show são actions que terão views independentes com propósitos específicos.

class UsersController < ApplicationController

  def new
    #algum código Ruby
  end

  def save
    #algum código Ruby
  end

  def show
    #algum código Ruby
  end

end

Voltando ao WelcomeController, vamos criar uma action index para atender nossa rota.

class WelcomeController < ApplicationController

  def index
  end

end

Por enquanto é isso que precisamos fazer em nosso controller. Agora já temos uma rota, um controller e uma action. Vamos ver o que o browser nos diz :)

Quase lá

Ok. Estamos quase lá. Agora o Rails está dando o erro Missing Template pois não encontrou a view que deve ser exibida.

Criando uma view

Já temos uma rota que aponta para um controller e uma action.

Apesar da nossa action index estar em branco, mais uma vez as convenções do Rails entram em ação.

Como nosso controller se chama welcome e nossa action index, a view que devemos criar deve seguir o caminho: app/views/welcome/index.html.

Vamos criar esse diretório e esse arquivo em nosso terminal e em seguida abrir para edição no Atom.

mkdir app/views/welcome
touch app/views/welcome/index.html

Dentro do arquivo vamos colocar uma pequena mensagem de boas vindas.

<h1>Bem-vindo</h1>
<p>Obrigado por escolher a melhor aplicação de controle de tarefas do universo!</p>

Win!

Criamos nossa aplicação e agora temos uma página de boas vindas para nossos usuários! Epic Win!

Faça login para comentar.

Entrar

0 Comentários