Tutorial Ruby on Rails
โก Resumo Inteligente
O tutorial de Ruby on Rails apresenta o framework web de cรณdigo aberto escrito em Ruby que alimenta empresas como Airbnb, GitHub e Shopify. O passo a passo abrange a instalaรงรฃo em Windows, Mac e Linux, geradores Rails, roteamento, visualizaรงรตes, ActiveRecord, validaรงรตes e depuraรงรฃo.

O que รฉ Ruby?
Ruby Ruby รฉ uma linguagem de programaรงรฃo de alto nรญvel, interpretada e orientada a objetos. ร uma linguagem dinรขmica de cรณdigo aberto com uma grande comunidade ativa. Ruby foi projetada para simplicidade e produtividade. Ela incentiva a escrita de cรณdigo que prioriza o fator humano em detrimento do funcionamento do computador. Yukihiro Matsumoto criou Ruby no Japรฃo em 1995.
O que รฉ trilhos?
Rails Rails รฉ um framework de desenvolvimento escrito em Ruby para a construรงรฃo de aplicaรงรตes web. Foi criado como base para a aplicaรงรฃo Basecamp e lanรงado como software de cรณdigo aberto em 2004. O Rails oferece muitos recursos e funcionalidades padrรฃo integrados, o que o torna uma escolha adequada para protรณtipos MVP.ping e desenvolvimento rรกpido de produtos.
O Rails foi criado por David Heinemeier Hansson, popularmente conhecido como DHH. ร uma das ferramentas mais influentes e populares para o desenvolvimento de aplicaรงรตes web. ร utilizado por grandes sites como Airbnb, GitHub e Shopify.
Por que Trilhos?
Antes de instalar o conjunto de ferramentas, รฉ รบtil entender por que o Rails continua sendo uma escolha popular para envio de cรณdigo.ping aplicaรงรตes web rapidamente.
- O Rails รฉ distribuรญdo como uma gem do Ruby e vocรช pode usรก-lo para criar uma ampla variedade de aplicaรงรตes.
- Ele permite criar aplicaรงรตes web comuns, sites de comรฉrcio eletrรดnico, sistemas de gerenciamento de conteรบdo e muito mais.
- Rails รฉ um framework full-stack que inclui tudo o que vocรช precisa para criar uma aplicaรงรฃo web orientada a banco de dados usando o padrรฃo Model-View-Controller (MVC).
- Todas as camadas sรฃo projetadas para funcionar perfeitamente em conjunto, portanto, os projetos Rails normalmente precisam de menos linhas de cรณdigo do que projetos equivalentes em outras estruturas.
Como baixar e instalar Ruby em Windows
O processo de instalaรงรฃo depende do seu sistema operacional. As prรณximas seรงรตes abordam a instalaรงรฃo do Ruby em sistemas operacionais. Windows, Mac e Linux.
Passo 1) Baixe o Rubyinstaller.
A maneira mais fรกcil de instalar Ruby em seu Windows O computador รฉ instalado atravรฉs do Ruby Installer, disponรญvel em https://rubyinstaller.org/.
Apรณs o download, execute o instalador.
Passo 2) Clique no instalador que vocรช baixou.
Double-clique no arquivo de instalaรงรฃo baixado, por exemplo rubyinstaller-2.4.1-2-x64.exe.
Passo 3) Aceitar a licenรงa.
Selecione a opรงรฃo โAceito a licenรงaโ e clique no botรฃo โAvanรงarโ. Vocรช deverรก ver a tela 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 tela abaixo quando ela for concluรญda.
Passo 5) Clique em Concluir.
Nรฃo desmarque a opรงรฃo que instala o MSYS2. Clique em โConcluirโ para finalizar a instalaรงรฃo. Uma janela do prompt de comando serรก aberta, como mostrado abaixo.
Passo 6) Instale o MSYS2.
Esta etapa instala o MSYS2, uma plataforma de compilaรงรฃo que inclui um gerenciador de pacotes para facilitar a instalaรงรฃo de pacotes no sistema. Windows.
Pressione Enter para instalar todos os componentes, pois todos sรฃo necessรกrios para um ambiente de desenvolvimento Ruby on Rails funcionando corretamente. Windows.
Instalando Trilhos
Vocรช jรก deve ter o Ruby instalado, conforme descrito na seรงรฃo anterior. Em seguida, instale o Rails. Vocรช pode instalar o Rails usando um pacote do [link para o pacote]. Instalador do Rails, mas o pacote geralmente nรฃo inclui a versรฃo mais recente de todas as dependรชncias necessรกrias.
Se vocรช jรก possui a versรฃo mais recente do Ruby e os pacotes RubyGems e extensรตes bรกsicos instalados, basta executar o seguinte comando no prompt de comando para instalar o Rails em seu sistema: gem install rails.
Vocรช tambรฉm precisarรก instalar Node.js Se vocรช ainda nรฃo o tem, pois algumas bibliotecas das quais o Rails depende exigem um JavaPara que o script funcione corretamente em tempo de execuรงรฃo, obtenha o Node em https://nodejs.org.
Uma abordagem mais comum e preferida em Windows รฉ usar o Windows Subsistema para Linux. Ele fornece um ambiente GNU/Linux com ferramentas de linha de comando, utilitรกrios e aplicativos comuns diretamente no sistema. Windows.
Instalando Ruby no Mac
Seu Mac jรก possui o Ruby prรฉ-instalado. No entanto, a versรฃo prรฉ-instalada geralmente estรก desatualizada, portanto, vocรช deve instalar uma versรฃo mais recente.
A maneira mais fรกcil de fazer isso รฉ usar um gerenciador de pacotes como o HomebrewVocรช pode precisar instalar o Homebrew primeiro 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 a senha do seu Mac (os caracteres nรฃo aparecerรฃo enquanto vocรช digita) e pressione Enter quando terminar. Em seguida, execute este comando do Homebrew para instalar o Ruby no seu Mac.
brew install ruby
Em seguida, execute este comando:
echo 'export PATH="/usr/local/bin:/usr/local/sbin:$PATH"' >> ~/.bash_profile
Isso define a nova instalaรงรฃo do Ruby como o Ruby padrรฃo em seu sistema, em vez do Ruby prรฉ-instalado.
Para confirmar se a instalaรงรฃo foi bem-sucedida, execute o seguinte comando no Terminal:
ruby --version
Este comando imprime o nรบmero da versรฃo do Ruby que vocรช tem instalada. 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 o Ruby em Ubuntu รฉ atravรฉs do gerenciador de pacotes apt. Execute os seguintes comandos no Terminal para instalar a versรฃo mais recente do Ruby. Ubuntu repositรณrios.
- sudo apt update โ Isso atualiza o padrรฃo Ubuntu repositรณrios.
- sudo apt install ruby-full โ Este comando baixa e instala a versรฃo mais recente do Ruby.
Para confirmar a instalaรงรฃo, execute ruby โversรฃoEste comando imprime a versรฃo do Ruby que vocรช tem instalada.
Instalando Rails em Ubuntu (Linux)
Siga os passos abaixo para instalar o Rails em sua mรกquina Linux.
Passo 1) Atualize seu gerenciador de gems executando o seguinte comando: atualizaรงรฃo de gem โsistema no Terminal ou na linha de comando.
Passo 2) Execute trilhos de instalaรงรฃo de joias para instalar a versรฃo mais recente do Rails em seu computador.
Passo 3) Instale a gem bundler para facilitar o gerenciamento das dependรชncias de gems em sua aplicaรงรฃo Rails. Execute gem instalar empacotador.
Dois princรญpios dos trilhos
O Rails segue princรญpios bรกsicos de design de software e incentiva vocรช a usรก-los tambรฉm.
Os dois mais comuns sรฃo:
- Nรฃo se repita (DRY) โ isso resulta em um cรณdigo conciso, consistente e de fรกcil manutenรงรฃo.
- Convenรงรฃo sobre configuraรงรฃo โ O Rails jรก vem prรฉ-configurado com valores padrรฃo adequados para a maioria dos usos comuns. Isso torna o desenvolvimento de aplicaรงรตes mais rรกpido e reduz a quantidade de cรณdigo que vocรช precisa manter.
Rails โ Estruturas de Arquivos de Projeto
Com o Rails instalado em seu sistema, crie um aplicativo Rails. As prรณximas seรงรตes apresentarรฃo um exemplo em Ruby on Rails, criando um aplicativo de lista de tarefas. Execute o seguinte comando no seu Terminal para criar o aplicativo:
rails new todo_app
Este comando cria um diretรณrio chamado aplicativo de tarefas no diretรณrio atual com a estrutura de pastas bรกsica de uma aplicaรงรฃo web Rails, conforme mostrado abaixo.
Aqui estรฃo os principais diretรณrios gerados para o projeto:
app โ Agrupa subdiretรณrios para a interface do usuรกrio/layout (visualizaรงรตes e auxiliares), o controlador (arquivos de controladores) e os modelos (lรณgica de negรณcios/aplicaรงรฃo).
aplicativo/controladores โ 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 por tipo: JavaScript arquivos, imagens e folhas de estilo.
aplicativo/ajudantes โ Contรฉm funรงรตes auxiliares que mantรชm o modelo, a visualizaรงรฃo e a lรณgica do controlador do seu aplicativo focados, compactos e organizados.
aplicativo/modelos โ Contรฉm arquivos que modelam o banco de dados da sua aplicaรงรฃo. As classes de modelo facilitam muito o trabalho com o banco de dados.
aplicativo/visualizaรงรตes โ Contรฉm os arquivos de modelo/layout com os quais o usuรกrio do seu aplicativo interage. Os modelos combinam HTML com dados do banco de dados.
caixa โ Contรฉm scripts Rails que iniciam sua aplicaรงรฃo. Tambรฉm pode incluir outros scripts que vocรช usa para configurar e atualizar a aplicaรงรฃo.
configuraรงรฃo โ contรฉm arquivos de configuraรงรฃo como banco de dados.yml, ambiente.rb, rotas.rb, etc., que seu aplicativo precisa para funcionar.
db โ Contรฉm arquivos e scripts usados โโpara gerenciar o banco de dados do seu aplicativo.
lib โ Contรฉm mรณdulos adicionais para sua aplicaรงรฃo.
log โ contรฉm arquivos de registro como server.log, desenvolvimento.log, teste.log e produรงรฃo.log, usado para depurar ou monitorar seu aplicativo.
pรบblico โ Contรฉm arquivos estรกticos e recursos compilados, como arquivos HTML, JavaArquivos de script, imagens e folhas de estilo.
teste โ Contรฉm arquivos de teste que vocรช escreve para testar a funcionalidade do seu aplicativo.
tmp โ Contรฉm arquivos temporรกrios, como arquivos de cache e arquivos PID.
fornecedor โ Contรฉm bibliotecas de terceiros.
GemfileName โ especifica os requisitos bรกsicos de gems para executar sua aplicaรงรฃo web. Vocรช pode agrupar as gems em desenvolvimento, teste ou produรงรฃo, e o Rails saberรก quando incluir cada gem.
Gemfile.lock Ao contrรกrio do Gemfile, que lista explicitamente as gems que vocรช deseja em sua aplicaรงรฃo, o Gemfile.lock contรฉm adicionalmente outras gems das quais as listadas no Gemfile dependem. Estas sรฃo instaladas automaticamente para satisfazer as dependรชncias.
Leiame.md โ Use este arquivo para compartilhar detalhes essenciais sobre seu aplicativo, como o que ele faz e como instalรก-lo e executรก-lo.
Arquivo Rake โ Contรฉm vรกrias definiรงรตes de tarefas Rake que ajudam a automatizar as tarefas administrativas diรกrias da sua aplicaรงรฃo.
config.ru โ um arquivo de configuraรงรฃo do Rack que fornece uma interface para o servidor web para iniciar sua aplicaรงรฃo.
Mude o diretรณrio para o aplicativo de tarefas diretรณrio Rails gerado e executado servidor rails para iniciar o aplicativo. Tipo localhost: 3000 na barra de endereรงos do seu navegador. Vocรช deverรก ver a tela abaixo se tudo correr bem.
Esta รฉ a pรกgina inicial padrรฃo da sua aplicaรงรฃo. Vocรช irรก alterรก-la em uma seรงรฃo posterior deste tutorial de Ruby on Rails. Vocรช pode parar o servidor pressionando Ctrl + C.
Rails โ Gerar comandos
O comando `generate` do Rails usa modelos para criar muitos elementos รบteis em sua aplicaรงรฃo. Esses geradores economizam muito tempo.
Eles escrevem o cรณdigo padrรฃo necessรกrio para o funcionamento da sua aplicaรงรฃo web. Executar trilhos geram Digite `systemctl generate generators` no prompt de comando ou no Terminal para ver uma lista dos geradores disponรญveis, como mostrado abaixo.
Vocรช tambรฉm pode correr trilhos geram Para ver uma descriรงรฃo do que o comando faz, consulte a documentaรงรฃo. Ela lista opรงรตes รบteis e um exemplo de uso. A figura abaixo mostra a saรญda da execuรงรฃo do comando. controlador de geraรงรฃo de trilhos.
Use o comando `rails generate scaffold` para criar automaticamente o modelo, a visualizaรงรฃo e o controlador do aplicativo de lista de tarefas que vocรช estรก desenvolvendo. Execute o seguinte no seu Terminal (certifique-se de ainda estar no terminal). aplicativo de tarefas diretรณrio):
rails generate scaffold todo_list title:string description:text
Isso cria uma interface web completa de CRUD (Criar, Ler, Atualizar, Excluir) para a tabela TodoLists.
Outro comando รบtil para saber รฉ trilhos destroemIsso reverte qualquer coisa trilhos geram faz.
Trilhos โ Roteamento
O sistema de roteamento do Rails, chamado de roteador Rails, lida com todas as requisiรงรตes recebidas pela sua aplicaรงรฃo web. Ele examina o URL de cada solicitaรงรฃo e a mapeia para a aรงรฃo do controlador responsรกvel por processรก-la, usando a sintaxe especificada no arquivo de rotas (config / routes.rb).
O arquivo de rotas controla tudo URL aspecto da sua aplicaรงรฃo web. O Rails utiliza um design RESTful baseado no estilo arquitetural REST, que fornece um mapaping entre verbos HTTP e requisiรงรฃo URLs para aรงรตes do controlador.
O arquivo de rotas foi gerado quando vocรช executou trilhos novos anteriormente. Continuando com o aplicativo Todo que vocรช estรก criando, execute o seguinte:
rails db:migrate
Certifique-se de que vocรช ainda estรก na raiz do aplicativo (o aplicativo de tarefas diretรณrio).
Reinicie o servidor com servidor rails. Tipo http://localhost:3000/todo_lists/ Abra o navegador e pressione Enter. Vocรช deverรก ver uma pรกgina da web semelhante ร mostrada abaixo.
Esta รฉ a visualizaรงรฃo da lista de tarefas gerada pelo comando scaffold e รฉ controlada pelo controlador TodoListsController. รญndice aรงรฃo.
Adicione uma lista de tarefas clicando em โNova lista de tarefasโ na pรกgina. Vocรช deverรก ver a tela abaixo.
Observe a URL รฉ agora http://localhost:3000/todo_lists/newEsta รฉ a pรกgina para criar uma nova lista de tarefas e รฉ controlada pelo controlador `TodoListsController`. new mรฉtodo.
Insira o tรญtulo e a descriรงรฃo da sua lista de tarefas no formulรกrio e clique em โCriar lista de tarefasโ. URL deve mudar para http://localhost:3000/todo_lists/1, como mostrado abaixo.
Esta รฉ a pรกgina de exibiรงรฃo de uma lista de tarefas, controlada pelo controlador TodoListsController. mostrar mรฉtodo. Se vocรช voltar para http://localhost:3000/todo_lists/Vocรช deverรก ver agora a tela abaixo com a nova lista de tarefas adicionada.
O Rails conseguiu mapear cada requisiรงรฃo para a aรงรฃo correspondente do 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_tarefa, que รฉ a maneira padrรฃo do Rails de escrever rotas RESTful. Esta รบnica linha cria sete rotas, todas mapeandoping ao controlador TodoLists.
Por convenรงรฃo, cada aรงรฃo do controlador corresponde a uma operaรงรฃo CRUD (Criar, Ler, Atualizar, Excluir) especรญfica no banco de dados.
Execute rotas ferroviรกrias na sua linha de comando para ver as vรกrias rotas disponรญveis em sua aplicaรงรฃo. A figura abaixo mostra a saรญda da execuรงรฃo do comando. rotas ferroviรกrias.
Trilhos โ Vistas
A camada de visualizaรงรฃo รฉ um dos componentes do paradigma MVC e รฉ responsรกvel por gerar a resposta HTML para cada requisiรงรฃo ร sua aplicaรงรฃo. O Rails utiliza ERB (Embedded Ruby) por padrรฃo, que รฉ um poderoso sistema de templates para Ruby.
O ERB facilita a criaรงรฃo e a manutenรงรฃo de modelos, combinando texto simples com cรณdigo Ruby para substituiรงรฃo de variรกveis โโe controle de fluxo. Um modelo ERB usa o .html.erb extensรฃo.
Na maioria das vezes, vocรช usarรก dois marcadores de tag, cada um dos quais faz com que o cรณdigo incorporado seja processado e tratado de uma maneira especรญfica.
Uma etiqueta com um sinal de igual <%= %> Indica que o cรณdigo incorporado รฉ uma expressรฃo e que o resultado do cรณdigo deve ser substituรญdo na saรญda quando o modelo for renderizado.
A outra tag sem sinal de igual <% %> Indica ao renderizador que o resultado do cรณdigo nรฃo deve ser substituรญdo ou impresso na saรญda.
Cada controlador em sua aplicaรงรฃo Rails possui um subdiretรณrio correspondente em aplicativo/visualizaรงรตesE cada aรงรฃo em um controlador tem uma correspondente .html.erb arquivo nesse subdiretรณrio.
Dรช uma olhada aplicativo/visualizaรงรตes do aplicativo Todo que vocรช estรก criando. Vocรช encontrarรก um subdiretรณrio chamado listas_de_tarefas ou um caixรฃo .html.erb arquivos com nomes correspondentes ร s aรงรตes no Listas de tarefas controlador.
Rails โ ActiveRecord, padrรฃo de registro ativo e ORM
ActiveRecord รฉ a implementaรงรฃo em Ruby do padrรฃo Active Record. Nesse padrรฃo, uma classe representa uma tabela de banco de dados e uma instรขncia dessa classe representa uma linha nessa tabela.
O ActiveRecord รฉ comumente referido como um ORM (Mapeamento Objeto-Relacional).ping) camada, uma tรฉcnica que permite gerenciar seu banco de dados usando uma linguagem com a qual vocรช se sinta mais confortรกvel. ร agnรณstica ao banco de dados, entรฃo vocรช pode alternar facilmente entre bancos de dados โ por exemplo, SQLite, MySQL, PostgreSQL, SQL Server, ou Oracle โ usando o mesmo cรณdigo e lรณgica.
Por exemplo, para obter uma matriz contendo todas as listas de tarefas (Todo list) do seu aplicativo, vocรช nรฃo precisa escrever um cรณdigo que abra uma conexรฃo, execute uma consulta SQL SELECT e converta o resultado.
Vocรช sรณ precisa digitar Lista de tarefas.tudoE o ActiveRecord retorna um array preenchido com objetos TodoList que vocรช pode usar como quiser.
Tudo o que vocรช precisa fazer รฉ configurar o ambiente em config / database.ymlO ActiveRecord lida com as diferenรงas entre os sistemas de banco de dados. Ao migrar de um banco de dados para outro, vocรช nรฃo precisa reescrever seu cรณdigo.
Vocรช se concentra na lรณgica da aplicaรงรฃo, e o ActiveRecord cuida dos detalhes de baixo nรญvel da conexรฃo com o seu banco de dados. Ele usa convenรงรตes de nomenclatura para mapear modelos para tabelas do banco de dados.
O Rails pluraliza os nomes das classes do seu modelo para encontrar a tabela correspondente no banco de dados. Portanto, para uma classe Lista de afazeresO ActiveRecord usa uma tabela de banco de dados chamada listas_de_tarefas.
Trilhos โ Migraรงรตes
Uma migraรงรฃo do Rails รฉ um script usado para evoluir o banco de dados da sua aplicaรงรฃo. Ela serve para configurar ou alterar o banco de dados sem precisar escrever SQL manualmente.
Ele usa Ruby para definir alteraรงรตes no esquema do banco de dados e possibilita o uso de controle de versรฃo para manter seu banco de dados sincronizado em diferentes ambientes.
As migraรงรตes do Rails usam uma Linguagem de Domรญnio Especรญfico (DSL) em Ruby. Isso funciona como uma linguagem absoluta.trace possibilita usar ou alterar o mecanismo de banco de dados de acordo com suas necessidades.
As migraรงรตes podem ser compartilhadas com qualquer pessoa que trabalhe no aplicativo e tambรฉm podem ser revertidas para desfazer as alteraรงรตes. Este รฉ um mecanismo de seguranรงa robusto, portanto, vocรช nรฃo precisa se preocupar em causar danos permanentes ao seu banco de dados.
Rails โ Associaรงรตes ActiveRecord
A conexรฃo entre dois modelos ActiveRecord รฉ conhecida como associaรงรฃo. As associaรงรตes facilitam muito a realizaรงรฃo de operaรงรตes em registros relacionados no seu cรณdigo. Existem quatro categorias comuns.
Um a um: Um registro contรฉm precisamente uma instรขncia de outro modelo. Um bom exemplo รฉ um perfil de usuรกrio โ um usuรกrio tem apenas um perfil. Ele usa o tem um palavra chave.
Um para muitos: A associaรงรฃo mais comum ocorre quando um modelo tem zero ou mais instรขncias de outro modelo. Use o tem_muitos palavra-chave para denotar esta associaรงรฃo.
De muitos para muitos: Um pouco mais complicado. O ActiveRecord oferece duas maneiras de lidar com isso: tem_e_pertence_a_muitos e tem_muitos :atravรฉs, que lhe dรก acesso ao modelo de junรงรฃo definido em uma tabela separada.
Polimorfismo Um para Muitos: Uma associaรงรฃo mais avanรงada no Rails. Ela define um modelo que pode pertencer a vรกrios modelos diferentes em uma รบnica associaรงรฃo.
Rails โ Validaรงรตes ActiveRecord
A validaรงรฃo ajuda a garantir que vocรช tenha dados corretos, pois trabalhar com dados incorretos รฉ arriscado e pode custar dinheiro ร sua empresa.
A validaรงรฃo tambรฉm fornece uma camada extra de seguranรงa contra usuรกrios mal-intencionados que tentam inserir dados prejudiciais em seu banco de dados. O Rails oferece uma API limpa de funรงรตes auxiliares de validaรงรฃo no ActiveRecord que mantรชm seu banco de dados limpo, seguro e livre de erros.
As validaรงรตes do ActiveRecord sรฃo executadas nos objetos do modelo antes de serem salvas no banco de dados, o que as torna mais confiรกveis โโe estรก de acordo com as melhores prรกticas.
Os seguintes mรฉtodos do ActiveRecord acionam validaรงรตes quando chamados em objetos do modelo: crie, crie!, salve, salve!, atualize e atualize!As versรตes bang (Criar!, Salvar! e Atualizar!) gera uma exceรงรฃo se o registro for invรกlido, enquanto as versรตes sem o ponto de exclamaรงรฃo retornam falso.
Os auxiliares de validaรงรฃo mais comuns do ActiveRecord sรฃo:
- Confirmaรงรฃo: Valida se dois campos tรชm o mesmo valor, por exemplo, senha e confirmaรงรฃo de senha. ร usado em conjunto com o auxiliar de validaรงรฃo de presenรงa.
- Presenรงa: Verifica se o campo nรฃo estรก vazio.
- Singularidade: Garante um valor รบnico para um campo, por exemplo, o nome de usuรกrio.
- Comprimento: Impรตe um limite ao comprimento de caracteres de um campo.
Vocรช tambรฉm pode criar sua prรณpria validaรงรฃo personalizada usando o validar mรฉtodo e passando a ele o nome de um mรฉtodo de validaรงรฃo personalizado.
Verifique o modelo erros objeto para descobrir por que uma validaรงรฃo falhou. Isso fornece tudo o que vocรช precisa para tornar seu aplicativo mais restritivo e seguro, permitindo apenas a entrada de dados vรกlidos 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 de Controlador de aplicaรงรฃo, que contรฉm cรณdigo que pode ser executado em todos os outros controladores e que, por sua vez, herda de Controlador de aรงรฃo::Base.
O controlador fornece o seguinte para sua aplicaรงรฃo:
- Ele encaminha solicitaรงรตes externas para aรงรตes internas.
- Ele gerencia o cache, proporcionando melhorias de desempenho ao seu aplicativo.
- Ele gerencia mรฉtodos auxiliares que ampliam as funcionalidades dos modelos de visualizaรงรฃo e tambรฉm gerencia sessรตes de usuรกrio, proporcionando uma experiรชncia fluida aos usuรกrios.
Trilhos โ Configuraรงรตes
Vocรช pode configurar componentes como inicializadores, ativos, geradores e middlewares usando os inicializadores e arquivos de configuraรงรฃo do seu aplicativo Rails. configuraรงรฃo diretรณrio. Arquivos como config/application.rb, config/environments/development.rb e config/environments/test.rb sรฃo utilizadas aqui. Vocรช tambรฉm pode adicionar configuraรงรตes personalizadas para seu aplicativo.
Trilhos โ Depuraรงรฃo
ร medida que vocรช desenvolve sua aplicaรงรฃo, precisarรก depurar seu cรณdigo. O Rails facilita isso com o byebug gem. Vocรช pode iniciar uma sessรฃo de depuraรงรฃo inserindo a palavra-chave. byebug em qualquer lugar no cรณdigo do seu aplicativo.
Isso interrompe temporariamente a execuรงรฃo nesse ponto. A gem byebug oferece vรกrios comandos. Os mais รบteis sรฃo:
- Next: passa para a prรณxima linha de cรณdigo, pularping Todos os mรฉtodos invocados pela linha atual.
- degrau: semelhante ao Prรณximo, mas entra em cada mรฉtodo invocado.
- pausa: interrompe a execuรงรฃo do cรณdigo.
- continuar: continua a execuรงรฃo do cรณdigo.
Outras ferramentas de depuraรงรฃo estรฃo disponรญveis, como: alavancaTodas elas oferecem funcionalidades semelhantes com sintaxes ligeiramente diferentes. Gems de depuraรงรฃo nรฃo devem ser usadas em produรงรฃo, pois representam riscos para sua aplicaรงรฃo e uma experiรชncia ruim para seus usuรกrios.
Os arquivos de log podem ser inspecionados em busca de erros em produรงรฃo e tratados adequadamente. Vocรช tambรฉm deve seguir uma abordagem de Desenvolvimento Orientado a Testes (TDD) ao construir seu aplicativo para garantir que tudo funcione corretamente antes da implantaรงรฃo em produรงรฃo.













