Criando uma aplicação Rails (parte 4)

Nossa aplicação é um gestor de tarefas. Vamos criá-las então!

Definindo nosso modelo

Uma tarefa deverá possuir somente uma descrição neste momento.

Para tratar entidades como a tarefa devemos criar models. Um model é uma classe que determina atributos e regras de negócio de uma entidade relevante em nosso escopo.

Gerando um model

Para criar nosso primeiro model vamos usar um gerador do Rails. Geradores são ferramentas que o Rails oferece para criar alguns elementos de forma rápida em nossa aplicação.

Como descrito no tópico acima, cada tarefa deve ter uma descrição. Vamos chamar nosso model de Task e o atributo de description, afinal programar em inglês é uma boa prática a ser seguida sempre.

Uma descrição é um texto, certo? Então o tipo de dados do atributo description é string.

O comando para gerar um model é:

rails generate model nome_do_model atributo1:tipo_de_dado atributo2:tipo_de_dado ...

Então, substituindo para o nosso cenário temos:

rails generate model task description:string

Após a execução, abra a pasta app/models. Você irá notar que o arquivo task.rb foi criado. Analisando esse arquivo você verá o seguinte conteúdo:

class Task < ActiveRecord:Base
end

Trata-se de uma classe simples em Ruby. Daí você vai se perguntar: onde está meu atributo description?

É aqui onde a mágica do Rails começa a acontecer!

Migrations

Abra a pasta db\migrate. Além do app\models\task.rb foi criado um arquivo com nome similar a 20150908221519_create_tasks.rb.

Esta é a migration que vai gerar a estrutura de dados necessária para armazenar os dados das nossas tarefas no banco de dados.

SIM! O que outros frameworks demandam horas de esforço e muitos arquivos de configuração, no Rails conseguimos fazer em poucos minutos :)

E são nas migrations que ficam definidos os atributos que vão 'dar forma' ao nosso model. Para executar as migrations você deve, no Terminal, executar o comando:

rake db:migrate

Após a execução, abra o arquivo db\schema.rb. Neste arquivo você sempre terá a versão atual do seu modelo de dados. Nunca mexa nesse arquivo. Ele deve ser sempre gerado através da execução de migrations.

Criando tarefas

Para usar a estrutura que criamos, vamos no Terminal criar uma tarefa.

O primeiro passo é executar a aplicação em modo console:

rails console

Você está dentro da sua aplicação agora. Para criar uma tarefa vamos executar:

tarefa = Task.new

Um objeto do tipo Tarefa foi criado e atribuído na variável tarefa. Agora você pode atribuir uma descrição fazendo:

tarefa.description = 'Primeira tarefa do dia'

Agora vamos salvar essa tarefa no banco.

tarefa.save

Pronto! Tarefa salva no banco :) Duvida? Vamos buscar todas tarefas do banco então:

Task.all

Aí estão todas tarefas disponíveis na base. Simples não?

Para conhecer mais sobre models você pode ver a documentação oficial do Rails falando a respeito. Também nesta documentação você encontra um material muito bom sobre migrations.

Faça login para comentar.

Entrar

1 Comentário

Lucas Henrique M Dourado

Lucas Henrique M Dourado há mais de 1 ano

$ rails generate model Opinion body:string $ rake db:migrate $ rails console $ body = Opinion.new $ body.body = 'Rails is awesome!' $ body.save $ Opinion.all