Slide 1

Slide 1 text

Introdução ao Ruby on Rails

Slide 2

Slide 2 text

Oi, eu sou a Paty. Engenheira de Software @Codeminer42 @patyziita_

Slide 3

Slide 3 text

CONTEÚDO Introdução 01 Estrutura MVC 02 Migrations 04 Tipos de Relacionamento 05 Rails Console 03 Criando uma Aplicação Rails 06

Slide 4

Slide 4 text

Introdução 01

Slide 5

Slide 5 text

Rails 7.2

Slide 6

Slide 6 text

Ruby on Rails O que é? Ruby on Rails é um framework de desenvolvimento web de código aberto baseado na linguagem Ruby, conhecido por simplificar e acelerar a criação de aplicações web. Criado por David Heinemeier Hansson em 2004. Principais características: 1. Produtividade: Ruby on Rails oferece um ambiente de desenvolvimento que prioriza a simplicidade e a velocidade, permitindo criar protótipos de forma rápida. 2. Conceitos “Convention over Configuration” e “Don’t Repeat Yourself” (DRY): Foca em convenções que reduzem a necessidade de configurações manuais, e promove a reutilização de código, o que torna o desenvolvimento mais eficiente. 3. Ecosistema de Gems: Conta com uma ampla variedade de bibliotecas (gems) que oferecem funcionalidades extras, economizando tempo dos desenvolvedores.

Slide 7

Slide 7 text

Ruby on Rails Aplicações famosas: Airbnb, GitHub e Shopify são algumas empresas que utilizam Ruby on Rails, destacando sua capacidade de suportar grandes aplicações de alto desempenho. Em resumo, Ruby on Rails é ideal para startups e desenvolvedores que buscam criar aplicações web robustas em menos tempo, com um código bem estruturado e fácil de manter.

Slide 8

Slide 8 text

Estrutura MVC 02

Slide 9

Slide 9 text

MVC O MVC (Model-View-Controller) é o padrão arquitetural central do Ruby on Rails, ajudando a organizar a estrutura do código de forma clara e separada em três camadas principais

Slide 10

Slide 10 text

MVC Models Model (Modelo): Representa a camada de lógica de negócios e acesso ao banco de dados. Os modelos são responsáveis por gerenciar e validar os dados, bem como lidar com operações como consultas e atualizações. Em Rails, os modelos são classes Ruby que herdam de ActiveRecord, o que facilita a interação com o banco de dados.

Slide 11

Slide 11 text

MVC Views View (Visão): Define a camada de apresentação, onde o conteúdo é formatado para o usuário. As views utilizam HTML, CSS e o mecanismo de templates do Rails (ERB ou HAML) para renderizar as páginas. Essa camada recebe os dados do controlador e exibe de forma visual, proporcionando a interface com o usuário.

Slide 12

Slide 12 text

MVC Controllers Controller (Controlador): Responsável por intermediar o model e a view. Os controladores recebem as requisições dos usuários, processam essas solicitações (interagindo com o modelo quando necessário) e definem qual view será renderizada. Eles também manipulam a lógica de fluxo de controle, como redirecionamentos e tratamentos de erros.

Slide 13

Slide 13 text

Rails Console 03

Slide 14

Slide 14 text

Rails Console O rails console é uma ferramenta interativa do Ruby on Rails que permite aos desenvolvedores acessar o ambiente da aplicação diretamente pelo terminal. Com o rails console, é possível interagir com os modelos, realizar consultas e modificações nos dados, testar métodos e inspecionar o comportamento da aplicação em tempo real, tudo isso sem a necessidade de executar o servidor ou criar interfaces.

Slide 15

Slide 15 text

Principais usos do rails console 1. Interação com o Banco de Dados: Permite realizar operações CRUD (criação, leitura, atualização e exclusão) diretamente nos modelos da aplicação. É útil para testes rápidos e ajustes em dados diretamente. 2. Testes de Métodos: Facilita a execução e verificação de métodos dos modelos, ajudando a validar a lógica de negócio de forma rápida e interativa. 3. Depuração e Diagnóstico: Ajuda a inspecionar objetos, variáveis e classes, sendo uma ferramenta útil para entender comportamentos ou resolver problemas na aplicação.

Slide 16

Slide 16 text

Comando para iniciar Basta digitar rails console ou rails c no terminal, estando na raiz do projeto. O console carrega todo o ambiente Rails, incluindo as configurações e dependências da aplicação. O rails console é essencial para desenvolvedores que desejam experimentar código, ajustar dados ou depurar problemas, promovendo um desenvolvimento mais rápido e interativo.

Slide 17

Slide 17 text

Migrations 04

Slide 18

Slide 18 text

Migrations As migrations no Ruby on Rails são uma maneira de gerenciar e versionar as alterações na estrutura do banco de dados da aplicação. Elas facilitam a criação, alteração e exclusão de tabelas, colunas e índices sem a necessidade de escrever comandos SQL diretamente. As migrations são escritas em Ruby, garantindo que as mudanças no banco de dados possam ser aplicadas ou revertidas de maneira fácil e padronizada em diferentes ambientes.

Slide 19

Slide 19 text

Como Utilizar Migrations no Rails Criando uma Migration: Para criar uma nova migration, use o comando: Isso cria um arquivo de migration no diretório db/migrate/ com uma estrutura básica. O nome da migration deve refletir a alteração que será feita, como AddAgeToUsers ou CreateProducts.

Slide 20

Slide 20 text

Como Utilizar Migrations no Rails Definindo as Alterações: Dentro da migration, defina as mudanças no método change. Exemplo de criação de uma tabela users com colunas name e email:

Slide 21

Slide 21 text

Como Utilizar Migrations no Rails Aplicando Migrations: Para aplicar as migrations e atualizar o banco de dados, use o comando: rails db:migrate Isso executa as migrations pendentes em ordem cronológica e faz as alterações no banco de dados. Revertendo Migrations: Caso precise desfazer uma migration, use: rails db:rollback

Slide 22

Slide 22 text

Tipos de Relacionamento s 05

Slide 23

Slide 23 text

No Rails, os modelos podem se relacionar de diferentes maneiras usando ActiveRecord Associations, que facilitam o gerenciamento das relações entre tabelas no banco de dados. Os principais tipos de relacionamento são ● belongs_to: Indica que um registro pertence a outro. É geralmente usado no modelo que contém a chave estrangeira. ● has_one: Indica que um registro tem exatamente um registro associado em outro modelo.

Slide 24

Slide 24 text

Exemplo:

Slide 25

Slide 25 text

● has_many: Define que um registro possui vários registros de outro modelo. ● belongs_to: Define que um registro pertence a um único registro de outro modelo.

Slide 26

Slide 26 text

Exemplo:

Slide 27

Slide 27 text

Criando uma aplicação Rails 06

Slide 28

Slide 28 text

LET’S GO!

Slide 29

Slide 29 text

Primeiramente considerando que você já tenha o ruby instalado precisará instalar o Rails: Após isso já podemos usar o comando para iniciar uma aplicação Rails: Isso cria a estrutura inicial de diretórios e arquivos para a aplicação Rails e inicia com o banco de dados SQLite(padrão).

Slide 30

Slide 30 text

Para criar o banco de dados basta rodar: Para criar um modelo, execute o comando rails generate model, que cria a estrutura de tabelas no banco de dados. Podemos ver nessa listagem que uma migration foi criada.

Slide 31

Slide 31 text

Podemos então rodar o comando para criar a tabela articles com os atributos de title e body.

Slide 32

Slide 32 text

Vamos usar o generate para criar o controller e a rota também:

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

Usando o rails console para popular o banco de dados:

Slide 35

Slide 35 text

Agora podemos definir nossas views usando tags html e ruby, usando o ERB:

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

E por fim vamos alterar nosso routes.rb para definir a rota de articles:

Slide 38

Slide 38 text

Para iniciar o servidor e visualizar a aplicação, use: Acesse http://localhost:3000 no navegador para ver a aplicação em execução.

Slide 39

Slide 39 text

Ao acessarmos a rota de articles vamos ver a listagem http://localhost:3000/articles

Slide 40

Slide 40 text

E ao acessarmos http://localhost:3000/articles/1

Slide 41

Slide 41 text

Dicas ● Utilize generates do Rails para auxiliar criar os models, controllers; ● Confira se a rota foi definida; ● Não se esqueça da arquitetura do Rails: Rota -> Controller -> Model -> View ● Utilize o rails console para popular rapidamente ou fazer consultas no banco de dados usando os Models criados;

Slide 42

Slide 42 text

Referências ● https://guides.rubyonrails.org/index.html ● https://guides.rubyonrails.org/getting_started.html

Slide 43

Slide 43 text

CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, infographics & images by Freepik Alguma dúvida? Obrigada!