Tutorial Ruby on Rails para iniciantes com projeto e exemplo
O que é Ruby?
Ruby é uma linguagem de programação de alto nível, interpretada e orientada a objetos. É uma linguagem dinâmica de código aberto que tem uma grande comunidade por trás dela. Ruby foi projetado para simplicidade e produtividade. Ele incentiva a escrita de código de software primeiro para humanos e depois para computador. Foi criado por Yukihiro Matsumoto no Japão em 1995.
O que é trilhos?
Rails é uma estrutura de desenvolvimento escrita em Ruby para construção de aplicações web. Ele foi criado como base do aplicativo Basecamp e então lançado como um software de código aberto em 2004. Rails oferece muitos recursos e funcionalidades padrão integrados, o que o torna uma opção adequada para prototipagem e desenvolvimento de MVP.
Foi criado por David Heinemeier Hasson, popularmente conhecido como DHH. É uma das ferramentas mais influentes e populares para a construção de aplicações web. É usado por alguns dos sites favoritos como Airbnb, Github, Shopify, etc.
Por que Trilhos?
Aqui estão os prós/benefícios de usar Rails:
- Rails é empacotado como uma gem Ruby e você pode usá-lo para construir uma variedade de aplicações.
- Ele permite que você crie aplicativos da web regulares, aplicativos de comércio eletrônico, sistema de gerenciamento de conteúdo e muito mais.
- Rails é um framework full-stack que inclui tudo que você precisa para criar uma aplicação web baseada em banco de dados, usando o padrão Model-View-Controller.
- Isso significa que todas as camadas são construídas para funcionar perfeitamente juntas com menos código. Requer menos linhas de código do que outras estruturas.
Como baixar e instalar Ruby em Windows
O processo de instalação dependerá do seu sistema operacional. Você instalará o Ruby em Windows, Mac e Linux.
Passo 1) Baixe o Rubyinstaller
A maneira mais fácil de instalar Ruby em seu Windows computador é através do Ruby Installer, que você pode baixar em https://rubyinstaller.org/.
Tudo que você precisa fazer é executar o instalador baixado.
Passo 2) Clique no instalador baixado
Double-clique no instalador baixado 'rubyinstaller-2.4.1-2-x64.exe'.
Passo 3) Aceite a licença
Selecione o botão de opção 'Aceito a licença' e clique no botão 'Avançar'. Isso deve levar você à próxima figura abaixo:
Passo 4) Marque as duas primeiras caixas de seleção
Marque as duas primeiras caixas de seleção para facilitar a execução de scripts Ruby.
Clique no botão 'Instalar' para iniciar a instalação. Você deverá ver a figura abaixo quando a instalação for concluída.
Passo 5) Clique em Finish
Não desmarque a opção da caixa de seleção que instala o MSYS2. Clique em “Concluir” para concluir a instalação e uma janela de prompt de comando mostrada na Figura abaixo será exibida.
Passo 6) Instala MSYS2
Esta etapa instala o MSYS2, uma plataforma de construção que possui um gerenciador de pacotes para fácil instalação de pacotes em Windows.
Pressione Enter para instalar todos os componentes, pois todos eles são necessários para ter um ambiente de desenvolvimento Ruby on Rails tranquilo para trabalhar. Windows.
Instalando Trilhos
Você deve ter o Ruby instalado da seção anterior e agora instalará o Rails. Você pode instalar o Rails usando um pacote de Instalador do Rails, mas o problema é que você não obtém a versão mais recente dos pacotes necessários.
Se você já possui o Ruby mais recente e um conjunto básico de RubyGems e extensões necessários instalados. Tudo o que você precisa fazer agora é executar o seguinte comando no prompt de comando para obter o Rails em seu sistema: 'gem install Rails.'
Você também precisará instalar Node.js se você ainda não o possui, porque algumas bibliotecas das quais o Rails depende exigem um Javascript tempo de execução para funcionar corretamente. Você pode obter o nó em https://nodejs.org.
É uma abordagem mais comum e preferida para o desenvolvimento em Windows. A comunidade Rails usa um Windows Subsistema para Linux que fornece um ambiente GNU/Linux com ferramentas de linha de comando, utilitários e aplicativos comuns diretamente no Windows.
Instalando Ruby no Mac
Seu Mac já tem Ruby pré-instalado. No entanto, a versão pré-instalada pode ser antiga e, portanto, você precisará instalar uma versão nova/mais recente.
A maneira mais fácil de fazer isso é usando um gerenciador de pacotes como Homebrew. Talvez você precise primeiro instalar o Homebrew executando o comando abaixo no Terminal.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
Isso exibirá um aviso e solicitará que você insira sua senha. Digite sua senha do Mac (você não verá os caracteres enquanto digita). Basta pressionar 'Enter' quando terminar de digitar sua senha. Em seguida, execute este comando simples do Homebrew para instalar o Ruby no seu Mac.
brew install ruby
E também execute este comando:
echo "export PATH="/usr/local/bin:/usr/local/sbin:$PATH >> ~/.bash_profile
Para definir esta instalação do Ruby como o Ruby padrão para rodar em seu sistema e não o Ruby pré-instalado.
Para confirmar se a instalação foi bem-sucedida, você pode executar o seguinte no Terminal
ruby --version
isso imprimirá o número da versão do Ruby que você instalou. A saída será algo como
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]
Instalando Ruby em Ubuntu (Linux)
A maneira mais fácil de instalar Ruby em seu Ubuntu sistema é através do gerenciador de pacotes apt. Você precisa executar os seguintes comandos no Terminal para instalar o Ruby mais recente do Ubuntu repositórios.
- atualização do sudo apt – Isso atualizará o padrão Ubuntu repositórios
- sudo apt instalar ruby-full – Ele irá baixar e instalar o Ruby mais recente
Para confirmar se a instalação foi bem-sucedida, você pode executar o seguinte 'ruby –versão,' isso imprimirá a versão Ruby que você instalou.
Instalando Rails em Ubuntu (Linux)
Você deve seguir as etapas abaixo para instalar o Rails com sucesso em sua máquina Linux.
Passo 1) Atualize o gerenciador de gemas do seu computador executando 'atualização de gema –sistema' no Terminal ou prompt de comando.
Passo 2) Execute 'trilhos de instalação de gemas' para instalar a versão mais recente do Rails em seu computador.
Passo 3) Você deve instalar o bundler gem para facilitar o gerenciamento de dependências de gem do aplicativo Rails. Correr 'pacote de instalação gem' para obtê-la.
Dois princípios do Rails
Rails segue princípios básicos de design de software e incentiva você a usar esses princípios também.
Os dois mais comuns são:
- Não se repita (DRY) – isso faz com que você escreva um código conciso, consistente e de fácil manutenção.
- Convenção sobre configuração – Rails é pré-configurado para usar padrões sensatos que se adaptam ao uso mais comum. Isso torna o desenvolvimento do seu aplicativo mais rápido e você também tem menos código para manter.
Rails – Estruturas de Arquivos de Projeto
Com o Rails agora instalado em seu sistema vamos criar uma aplicação Rails! Aprenderemos exemplos de Ruby on Rails e como criar um aplicativo de lista de tarefas neste tutorial de Ruby on Rails. Execute o seguinte comando 'trilhos novo todo_app' no seu Terminal para criar o aplicativo.
Este comando cria um diretório chamado 'todo_app' no diretório atual com a estrutura de pastas básica de uma aplicação web Rails, conforme mostrado na figura abaixo:
Você percorrerá os diretórios principais neste exemplo de Ruby on Rails.
app – Este diretório agrupa usando diferentes subdiretórios para a UI/layout (visualizações e auxiliares), o controlador (arquivos de controladores) e os modelos (lógica de negócios/aplicação).
aplicativo/controladores – Este diretório armazena arquivos de controlador usados pelo Rails para lidar com solicitações do cliente.
aplicativo/recursos – Contém arquivos estáticos, necessários para o front-end da aplicação agrupados em pastas de acordo com seu tipo – JavaScript arquivos, imagens e folhas de estilo.
aplicativo/ajudantes – Este subdiretório contém funções auxiliares que tornam o modelo, a visualização e a lógica do controlador do seu aplicativo focados, pequenos e organizados.
aplicativo/modelos – Contém arquivos
que modelam o banco de dados do seu aplicativo. As classes de modelo facilitam muito o trabalho com o banco de dados.
aplicativo/visualizações – Esses arquivos de modelo/layout de retenção com os quais o usuário do seu aplicativo interage. Os modelos são uma combinação de HTML e dados do banco de dados.
caixa – Ele contém scripts Rails que iniciam seu aplicativo. Também pode incluir outros scripts usados para configurar e atualizar o aplicativo.
Configuração - Isso contém arquivos de configuração – banco de dados.yml, ambiente.rb, rotas.rb, etc. que seu aplicativo precisa para ser executado.
DB - Este diretório contém arquivos/scripts que são usados para gerenciar o banco de dados do seu aplicativo.
lib – Este diretório contém um módulo estendido para seu aplicativo.
registro - Contém arquivos de log – server.log, desenvolvimento.log, teste.log e produção.log, etc., que são usados para depurar ou monitorar seu aplicativo.
público - Este diretório contém arquivos estáticos e ativos compilados, como arquivos HTML, Javascript arquivos, imagens e folhas de estilo.
teste - Este diretório contém arquivos de teste que você escreve para testar a funcionalidade do seu aplicativo.
tmp – Este diretório contém arquivos temporários como arquivos de cache e pid.
fornecedor - Este diretório contém bibliotecas de terceiros.
Arquivo Gem – Este arquivo especifica quais são seus requisitos básicos de gem para executar seu aplicativo da web. Você pode agrupar as gemas em desenvolvimento, teste ou produção e o Rails saberá quando incluir cada gema.
Gemfile.lock - Ao contrário do Gemfile que lista explicitamente as gemas que você deseja em seu aplicativo, Gemfile.lock contém adicionalmente outras gemas das quais dependem aquelas que você lista no Gemfile e que são instaladas automaticamente para satisfazer as dependências.
Leiame.md – Você usa esse arquivo para compartilhar detalhes essenciais sobre seu aplicativo, como o que o aplicativo faz, como instalar e executar o aplicativo.
Arquivo rake – Este arquivo contém várias definições de tarefas rake, o que ajuda a automatizar as tarefas diárias de administração de sua aplicação.
config.ru – Este é um arquivo de configuração do Rack que fornece uma interface para o servidor web iniciar sua aplicação.
Mude o diretório para o 'todo_app' diretório Rails gerado e executado 'servidor Rails' para iniciar o aplicativo. Tipo localhost: 3000 na barra de endereço do seu navegador, você deverá ver a figura abaixo se tudo correu bem.
Esta é a página inicial padrão do seu aplicativo e você mudará isso na seção posterior deste tutorial Ruby on Rails. Você pode parar o servidor pressionando 'Ctrl-C'.
Rails – Gerar comandos
O comando gerar do Rails faz uso de modelos para criar muitas coisas úteis em sua aplicação. Você pode usar esses geradores para economizar muito tempo.
Ajuda escrevendo código padrão, código necessário para que seu aplicativo da web funcione. Você pode correr 'trilhos geram' sozinho no prompt de comando ou Terminal para ver uma lista de geradores disponíveis conforme mostrado abaixo:
Você também pode correr 'rails gera “comando”' para ver uma descrição do que o comando faz. Ele oferece opções convenientes que podem ser executadas com o comando e exemplo de uso. A figura abaixo mostra a saída da execução'rails geram controlador':
Você usará o comando rails generate scaffold para criar automaticamente o modelo, a visualização e o controlador para o aplicativo de lista de tarefas que você está construindo. Correr'rails gera andaime todo_list título:string descrição: texto' no seu Terminal (verifique se você ainda está no diretório todo_app).
Isso criará uma interface da web CRUD (criar, ler, atualizar e excluir) completa para a tabela TodoLists.
Outro comando útil para saber é 'trilhos destroem' inverte o que quer que seja 'trilhos geram…' faz.
Trilhos – roteamento
O sistema de roteamento Rails, rails router, lida com todas as solicitações recebidas em sua aplicação web. Ele faz isso examinando a URL das solicitações recebidas e, em seguida, mapeia cada solicitação para a ação do controlador responsável por tratá-la, usando uma sintaxe especial especificada no arquivo de rotas (config / routes.rb).
O arquivo de rotas ajuda a controlar todos os aspectos da URL do seu aplicativo web. Por padrão, o Rails usa um design RESTful baseado no estilo arquitetural REST, que fornece um mapeamento entre verbos HTTP e solicitações (URLs) para ações do controlador.
O arquivo de rotas foi gerado quando você executou 'trilhos novos' em uma seção anterior deste tutorial. Continuando com o aplicativo Todo que você está construindo, execute o seguinte'rails db:migrar' (você saberá o que isso faz em breve)
Na linha de comando, certifique-se de ainda estar na raiz do aplicativo (o diretório todo_app).
Em seguida, reinicie o servidor com 'servidor Rails'. Tipo http://localhost:3000/todo_lists/
no seu navegador e pressione Enter. Você deve retornar uma página da web conforme mostrado na figura abaixo do exemplo Ruby on Rails:
Esta é a visualização da lista de tarefas que o comando scaffold gerou e é controlada pela ação de índice do TodoListsController.
Vá em frente e adicione uma lista de tarefas clicando em 'Nova lista de tarefas' na página, você deverá obter a página conforme mostrado abaixo:
Observe que o URL foi alterado para http://localhost:3000/todo_lists/new
. Esta é a página para criar uma nova lista de tarefas e é controlada pelo novo método/ação do TodoListsController.
Insira o título e a descrição da sua lista de tarefas no formulário e clique no botão Criar lista de tarefas. O URL deve mudar para http://localhost:3000/todo_lists/1
, mostrado na figura abaixo do exemplo de código Ruby on Rails:
Esta é a página de exibição de uma lista de tarefas e é controlada pelo método/ação show do TodoListsController. Se você voltar para http://localhost:3000/todo_lists/
, agora você deverá ver a figura abaixo com uma nova lista de tarefas adicionada:
Rails foi capaz de mapear as várias solicitações (URLs) para a ação correspondente de TodoListsController usando a definição de rota em config/routes.rb.
Se você der uma olhada neste arquivo, verá uma única linha 'recursos: listas de tarefas', é a maneira padrão do Rails de escrever rotas tranquilas. Esta única linha cria sete rotas, todas mapeadas para o controlador TodoLists.
Por convenção, a ação de cada controlador também é mapeada para uma operação CRUD (Criar, Ler, Atualizar e Excluir) específica no banco de dados.
Você pode correr 'rotas de ancinho' na sua linha de comando para ver as diversas rotas disponíveis no seu aplicativo. A figura abaixo mostra a saída da execução 'rotas ferroviárias' em sua linha de comando/terminal.
Trilhos – visualizações
A camada View é um dos componentes do paradigma MVC e é responsável por gerar resposta HTML para cada solicitação da sua aplicação. Por padrão, o Rails usa ERB (Embedded Ruby), que é um poderoso sistema de templates para Ruby.
O ERB torna a escrita de modelos fácil e sustentável, combinando texto simples com código Ruby para substituição de variáveis e controle de fluxo. Um modelo ERB possui extensão .html, .erb ou .erb.
Você usará principalmente uma combinação de apenas dois marcadores de tag, cada um dos quais faz com que o código incorporado seja processado e manipulado de uma maneira específica.
Uma etiqueta com sinal de igual '<%= %>' indica que o código incorporado é uma expressão e que o resultado do código deve ser substituído pelo renderizador ao renderizar o modelo.
A outra tag sem sinal de igual '<% %>' indica ao renderizador que o resultado do código não deve ser substituído/impresso ao renderizar o modelo.
Cada controlador em sua aplicação Rails possui um subdiretório correspondente em aplicativo/visualizações, e cada ação/método em um controlador possui um arquivo .html e .erb correspondente neste diretório.
Dê uma olhada nos aplicativos/visualizações do aplicativo de tarefas que você está criando. Você encontrará um subdiretório chamado 'listas_de_tarefas' dentro deste subdiretório .html.erb arquivos com nomes correspondentes às ações/métodos no Listas de tarefas controlador.
Rails – ActiveRecord, padrão de registro ativo e ORM
ActiveRecord é a implementação Ruby do padrão Active Record, que é um padrão simples onde uma classe representa uma tabela e uma instância da classe representa uma linha nessa classe.
ActiveRecord é popularmente conhecido como ORM (Mapeamento Relacional de Objetos), uma técnica que permite gerenciar seu banco de dados usando uma linguagem com a qual você se sente mais confortável. É independente de banco de dados, portanto você pode alternar facilmente entre bancos de dados (por exemplo SQLite, MySQL, PostgreSQL, Servidor SQL, Oracle, etc.). Este conjunto é mais adequado aos requisitos de sua aplicação com o mesmo código/lógica.
Então, se você deseja obter um array contendo uma listagem de todas as listas de tarefas em seu aplicativo, em vez de escrever código para iniciar uma conexão com o banco de dados, fazer algum tipo de consulta SQL SELECT e converter esses resultados em um variedade.
Para isso, basta digitar 'TodoList.all' e o Active Record fornece o array preenchido com objetos TodoList com os quais você pode brincar como quiser.
Tudo que você precisa fazer é definir a configuração correta em config / database.yml, e o Active Record resolverá todas as diferenças entre os vários sistemas de banco de dados. Então, quando você muda de um para outro, não precisa pensar nisso.
Você se concentra em escrever código para seu aplicativo, e o Active Record pensará nos detalhes de baixo nível para conectá-lo ao seu banco de dados. O Active Record utiliza convenções de nomenclatura para criar o mapeamento entre modelos e tabelas de banco de dados.
Rails pluraliza os nomes das classes do seu modelo para encontrar a tabela de banco de dados correspondente. Portanto, para uma classe TodoList, o ActiveRecord criará uma tabela de banco de dados chamada TodoLists.
Trilhos – Migrações
A migração Rails é simplesmente um script que você usa para editar o banco de dados do seu aplicativo. Ele é usado para configurar ou alterar seu banco de dados e evita escrever código SQL manualmente para fazer isso.
Ele usa Ruby para definir alterações no esquema do banco de dados e possibilita usar o controle de versão para manter seu banco de dados sincronizado.
As migrações Rails usam uma linguagem específica de domínio (DSL) Ruby. Isso atua como uma abstração e possibilita usar ou alterar seu mecanismo de banco de dados com base em seus requisitos.
Eles podem ser compartilhados com qualquer pessoa que trabalhe no aplicativo e também podem ser revertidos para desfazer quaisquer alterações no banco de dados. Este é um mecanismo de alta segurança, pois você não precisa se preocupar em causar danos permanentes ao seu banco de dados.
Rails – Associações ActiveRecord
Uma conexão entre dois modelos ActiveRecord é conhecida como associação. A associação torna muito mais fácil realizar operações nos diferentes registros do seu código. Pode ser dividido em quatro categorias: –
Um a um: – Isso indica que um registro contém precisamente uma instância de outro modelo. Um bom exemplo é o perfil do usuário. Um usuário possui apenas um perfil. Ele usa tem um palavra chave.
Um para muitos: – Esta é a associação mais comum e indica que um modelo possui zero ou mais instâncias de outro modelo. Seu uso tem _muitos palavra-chave para denotar esta associação.
Muitos para muitos: – Essa associação é um pouco mais complicada e o ActiveRecord oferece duas maneiras de lidar com isso. Usando o tem_e_pertence_a_muitos e tem muitos, que lhe dá acesso à relação definida em uma tabela separada.
Polimórfico Um para Muitos:- Esta é uma associação mais avançada disponível para você no Rails. Você pode usá-lo para definir um modelo que pode pertencer a muitos modelos diferentes em uma única associação.
Rails – Validações ActiveRecord
A validação ajuda a garantir que você tenha dados corretos porque trabalhar com dados errados é uma coisa horrível e pode custar-lhe dinheiro e negócios.
A validação também fornece uma camada extra de segurança para seu aplicativo contra usuários mal-intencionados que obtêm acesso às informações em seu banco de dados. Rails oferece uma ótima API de auxiliares de validação no ActiveRecord para manter seu banco de dados limpo, seguro e livre de erros.
As validações do ActiveRecord são executadas em objetos de modelo antes de serem salvos no banco de dados, tornando-os mais confiáveis e também as melhores práticas a serem seguidas na construção de seu aplicativo.
Os seguintes métodos ActiveRecord evocam validações quando usados ou chamados em objetos de modelo – crie, crie!, salve, salve!, atualize e atualize!. Aqueles com um estrondo (crie!, salve! e atualize!) gera uma exceção se um registro for inválido enquanto não for válido.
Os auxiliares de validação do ActiveRecord mais comuns à sua disposição são: –
Confirmação:– Este auxiliar de validação é útil para validar que dois campos têm a mesma entrada. por exemplo, senha e confirmação de senha, é usado em conjunto com o auxiliar de validação de presença.
Presença:– Isso verifica se o campo não está vazio.
exclusividade: garante um valor único para um campo, por exemplo, nome de usuário
Comprimento:- Para impor um limite no comprimento de caracteres de um campo
Você também pode criar sua validação personalizada usando o método validar e passando a ele o nome do método de validação personalizado.
Você pode verificar o modelo erro objeto para descobrir o porquê de uma validação. Esperamos que você tenha algumas ideias para tornar seu aplicativo mais restrito e mais seguro para permitir apenas dados seguros em seu banco de dados.
Trilhos – ActionController
O controlador Rails é o centro da sua aplicação web. Facilita e coordena a comunicação entre o usuário, os modelos e as visualizações.
Suas classes de controlador herdam do ApplicationController, que contém código que pode ser executado em todos os outros controladores e herda da classe ActionController.
O controlador fornece o seguinte para sua aplicação:
- Ele roteia solicitações externas para ações internas
- Ele consegue armazenar em cache, aumentando o desempenho do seu aplicativo
- Ele gerencia métodos auxiliares que ampliam os recursos dos modelos de visualização. Ele também gerencia as sessões dos usuários, proporcionando-lhes uma experiência tranquila ao usar seu aplicativo.
Trilhos – Configurações
Você pode configurar os vários componentes, como inicializadores, ativos, geradores, middlewares, etc. Usando inicializadores de aplicativos Rails e arquivos de configuração no diretório de configuração. Arquivos como config/application.rb, config/environments/development.rb e config/environments/test.rb etc. Você também pode configurar configurações personalizadas para seu aplicativo.
Trilhos – Depuração
À medida que você desenvolve seu aplicativo, chegará um momento em que você precisará depurar seu código. Rails facilita isso usando a gem byebug. Você pode iniciar uma sessão de depuração colocando a palavra-chave 'byebeg' em qualquer lugar do código do seu aplicativo.
Isso interromperá temporariamente a execução nesse ponto. A gem byebug fornece vários comandos para usar. Os mais úteis são:
- Próximo: comando que permite ir para a próxima linha de código, ignorando todos os métodos invocados pela execução da linha atual.
- passo: é semelhante ao comando 'next', mas fará com que você entre em cada um dos comandos invocados.
- quebrar: isso interrompe a execução do código.
- continuar continua o código de execução.
Existem outras gemas de depuração disponíveis, como 'pry', e todas oferecem funcionalidades semelhantes, mas com sintaxe ligeiramente diferente. As gemas de depuração não devem ser usadas na produção, pois isso representa riscos para o seu aplicativo e uma experiência ruim para os usuários do aplicativo.
Existem arquivos de log que você pode inspecionar em busca de erros na produção e tratá-los. Além disso, você deve seguir uma abordagem TDD (desenvolvimento orientado a testes) ao desenvolver seu aplicativo para garantir que tudo funcione bem antes de implantar na produção.
Resumo
- Ruby é uma linguagem de programação pura orientada a objetos
- Ruby tem uma sintaxe elegante que é fácil de ler e escrever.
- Rails é um framework de desenvolvimento, escrito em Ruby, para construção de aplicações web
- O processo de instalação dependerá do seu sistema operacional.
- Rails é empacotado como uma gem Ruby e você pode usá-lo para construir uma variedade de aplicações.
- Você criará um aplicativo de lista de tarefas neste tutorial, execute o seguinte incomm'n'n' 'rails netoda'p'p'p' em seu Terminal R para criar o aplicativo.
- O comando gerar do Rails faz uso de modelos para criar muitas coisas úteis em sua aplicação.
- O sistema de roteamento Rails, rails router ajuda você a lidar com todas as solicitações recebidas em sua aplicação web.
- A camada View é um dos componentes do paradigma MVC e é responsável por gerar resposta HTML para cada solicitação da sua aplicação.
- ActiveRecord é a implementação Ruby do padrão Active Record.
- A migração Rails é simplesmente um script que você usa para editar o banco de dados do seu aplicativo.
- Uma conexão entre dois modelos ActiveRecord é conhecida como associação.
- A validação ajuda a garantir que você tenha dados corretos porque trabalhar com dados errados é uma coisa horrível e pode custar-lhe dinheiro e negócios.
- O controlador Rails ajuda a facilitar e coordenar a comunicação entre o usuário, os modelos e as visualizações.
- Rail ajuda você a configurar os vários componentes, como inicializadores, ativos, geradores, middlewares, etc.