Estas anotações reúnem comandos essenciais para o desenvolvimento com Ruby on Rails, desde a criação do projeto até a preparação para produção. Os comandos estão organizados por categoria para facilitar a consulta durante o trabalho.
Primeiros passos com Rails
O Rails oferece uma interface de linha de comando completa, que torna o desenvolvimento mais rápido e eficiente. Conhecer esses comandos melhora bastante o fluxo de trabalho.
Criar novas aplicações
bash snippet
1# Aplicação Rails padrão
2rails new minha_aplicacao
3
4# Rails com banco de dados PostgreSQL
5rails new minha_aplicacao --database=postgresql
6
7# Aplicação somente de API, sem views
8rails new minha_aplicacao --api
9
10# Rails 7 ou superior com opções modernas de front-end
11rails new minha_aplicacao --css tailwind
12rails new minha_aplicacao --javascript esbuild
13
14# Rails 7 ou superior com Hotwire/Turbo
15rails new minha_aplicacao --turbo
16
17# Ignorar testes e outros arquivos padrão
18rails new minha_aplicacao --skip-test --skip-action-mailer
19
20# Ignorar a maior parte das configurações padrão
21rails new minha_aplicacao --minimal
Ao criar uma aplicação Rails, você pode personalizá-la por meio das opções da linha de comando. A opção --database define o banco de dados, enquanto --css e --javascript configuram a estrutura do front-end.
Gerenciamento do banco de dados
Administrar o banco de dados é uma parte fundamental do desenvolvimento com Rails. Estes são os comandos mais importantes:
bash snippet
1# Preparar o banco de dados
2rails db:create # Cria o banco de dados
3rails db:migrate # Executa as migrations pendentes
4rails db:seed # Carrega os dados iniciais
5
6# Manutenção do banco de dados
7rails db:rollback STEP=1 # Desfaz a última migration
8rails db:reset # Exclui, recria e migra o banco
9rails db:version # Exibe a versão atual do schema
10
11# Comandos avançados do banco de dados
12rails db:migrate:status # Verifica o estado das migrations
13rails db:version # Exibe a versão atual do schema
14rails db:schema:load # Carrega o schema.rb
15rails db:structure:load # Carrega o structure.sql
16rails db:setup # Cria o banco, carrega o schema e executa os seeds
17rails db:prepare # Prepara o banco de testes
18rails db:environment:set RAILS_ENV=production # Define o ambiente
Sempre faça backup antes de executar comandos destrutivos como db:reset ou db:drop em produção. Esses comandos excluem os dados permanentemente.
Gerar componentes do Rails
Os generators do Rails ajudam a criar componentes com convenções de nomenclatura e arquivos iniciais consistentes.
Gerar models
bash snippet
1# Model básico com atributos
2rails generate model Product name:string price:decimal{10,2} description:text
3
4# Model com associações
5rails generate model Review content:text rating:integer product:references user:references
6
7# Model com unicidade, tamanho e valor booleano
8rails generate model User email:string:uniq username:string{30} admin:boolean
O comando generate model cria vários arquivos: o model, uma migration, arquivos de teste e fixtures. Isso mantém a estrutura da aplicação consistente.
Gerar controllers
bash snippet
1# Controller padrão com ações
2rails generate controller Products index show new create edit update destroy
3
4# Controller de API
5rails generate controller api/v1/Products index show create update destroy --skip-template-engine
6
7# Controller em namespace
8rails generate controller Admin::Dashboard index stats users
Testar a aplicação
O Rails inclui uma estrutura completa de testes. Use estes comandos para executar a suíte:
bash snippet
1# Executa todos os testes
2rails test
3
4# Executa arquivos de teste específicos
5rails test test/models/user_test.rb
6rails test test/controllers/products_controller_test.rb
7
8# Executa testes de sistema no navegador
9rails test:system
“Se você não está testando, está fazendo errado.” — sabedoria popular da comunidade Rails
Ferramentas de desenvolvimento
Estes comandos ajudam durante o processo de desenvolvimento:
bash snippet
1# Inicia o servidor Rails
2rails server # Porta padrão 3000
3rails server -p 4000 # Porta personalizada
4rails server -b 0.0.0.0 # Disponível para outros dispositivos da rede
5
6# Console do Rails
7rails console # Console normal
8rails console --sandbox # As alterações não são salvas no banco
9
10# Examina as rotas
11rails routes # Lista todas as rotas
12rails routes -g products # Filtra as rotas por um padrão
Para obter informações mais detalhadas, consulte os guias e a documentação oficial do Rails em https://guides.rubyonrails.org/.
Pipeline de assets e front-end
O Rails 7 e versões posteriores oferecem opções modernas de ferramentas para o front-end:
bash snippet
1# Compila os assets
2rails assets:precompile
3
4# Configura Hotwire/Turbo
5rails turbo:install
6rails turbo:install:redis
7
8# Import map para dependências JavaScript
9bin/importmap pin lodash
10bin/importmap pin chart.js --download
Compile os assets antes de publicar a aplicação em produção. Caso contrário, estilos e recursos JavaScript podem não ser encontrados.
Produção e implantação
Comandos úteis para preparar a aplicação para produção:
bash snippet
1# Gerencia credenciais
2rails credentials:edit --environment production
3
4# Prepara o ambiente de produção
5rails db:migrate RAILS_ENV=production
6rails assets:precompile RAILS_ENV=production
7
8# Gera uma chave secreta
9rails secret
Solução de problemas comuns
Quando algo não funciona, estes comandos podem ajudar:
bash snippet
1# Recria completamente o banco de dados
2rails db:drop db:create db:migrate db:seed
3
4# Limpa arquivos temporários e logs
5rails log:clear tmp:clear
6
7# Exibe informações do ambiente e da configuração
8rails about
9
10# Valida a consistência do banco de dados
11rails db:validate
Está enfrentando problemas com a aplicação Rails? Execute rails about para ver um resumo do ambiente. Essas informações podem revelar incompatibilidades de versão ou erros de configuração.
Boas práticas
Lembre-se destes princípios ao trabalhar com Rails:
Use controle de versão para todas as alterações de código.
Escreva testes para os recursos da aplicação.
Mantenha as gems atualizadas por segurança e desempenho.
Siga as convenções do Rails para facilitar a manutenção.
Monitore os logs em busca de erros e problemas de desempenho.
O Rails segue o princípio de “convenção em vez de configuração”. Ao respeitar seus padrões de nomenclatura e organização, você escreve menos código e reduz a possibilidade de erros.