Rotas e recursos
Roteamento RESTful.
Rotas e recursos é uma aula grátis de Ruby Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Ruby Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ruby Academy inclui 4 aulas no total.
O que é roteamento?
O roteamento associa uma solicitação HTTP recebida (um método e um caminho) a uma ação de controlador que a processa. O arquivo de rotas é a porta de entrada de uma aplicação Rails.
- As rotas ficam em
config/routes.rb. - Cada rota conecta uma URL a
controller#action. - O Rails verifica as rotas de cima para baixo.
Uma rota básica
A rota mais simples associa um caminho a uma ação usando get. Neste caso, uma solicitação GET para /about chama a ação about em PagesController.
Rails.application.routes.draw do
get "/about", to: "pages#about"
endVerbos HTTP
Cada rota especifica um verbo que indica a intenção:
getlê dados.postcria dados.patch/putatualiza dados.deleteremove dados.
O mesmo caminho com verbos diferentes pode ser associado a ações diferentes.
Recursos RESTful
O auxiliar resources gera, em uma única linha, as sete rotas REST padrão para um modelo. Esse é o fundamento do roteamento convencional do Rails.
Rails.application.routes.draw do
resources :articles
endAs sete ações
resources :articles cria rotas para:
indexlista,showexibe um item.newexibe o formulário,createsalva.editexibe o formulário,updatesalva.destroyexclui.
Isso abrange todo o ciclo de vida de um recurso.
Auxiliares de caminho
As rotas geram auxiliares nomeados para que você nunca precise codificar URLs diretamente. resources :articles fornece articles_path, article_path(@article), new_article_path e edit_article_path(@article).
articles_path # => "/articles"
article_path(5) # => "/articles/5"
new_article_path # => "/articles/new"
edit_article_path(5) # => "/articles/5/edit"Limitando ações
Use only ou except para gerar somente as rotas de que você precisa. Isso mantém a superfície do roteamento pequena e definida intencionalmente.
resources :articles, only: [:index, :show]
resources :comments, except: [:edit, :update]Recursos aninhados
Aninhe recursos para expressar a relação de propriedade na URL. Comentários pertencentes a um artigo tornam-se /articles/1/comments. A rota aninhada passa article_id ao controlador.
resources :articles do
resources :comments
end
# GET /articles/1/commentsA rota raiz
root define o que é carregado em /, a página inicial da sua aplicação. Coloque-a perto do topo do arquivo de rotas para facilitar a compreensão.
Rails.application.routes.draw do
root "articles#index"
endInspecionando as rotas
Execute rails routes para listar todas as rotas com seu verbo, caminho, auxiliar e controller#action. Essa é a maneira mais rápida de entender ou depurar o roteamento de uma aplicação.
Rotas de membro e de coleção
Adicione ações personalizadas a um recurso:
- As rotas
memberatuam sobre um registro:/articles/1/publish. - As rotas
collectionatuam sobre o conjunto:/articles/search.
resources :articles do
member { post :publish }
collection { get :search }
endVerificação rápida
Teste sua compreensão sobre roteamento.
Recapitulação: rotas e recursos
Você aprendeu o roteamento RESTful:
- As rotas associam um verbo e um caminho a
controller#action. resourcesgera sete rotas padrão.- Os auxiliares de caminho evitam URLs codificadas diretamente.
only/except, o aninhamento e as rotas de membro e de coleção personalizam o conjunto.rootdefine a página inicial;rails routeslista tudo.
Agora escreveremos os controladores que processam essas solicitações.
Perguntas Frequentes
A aula “Rotas e recursos” é grátis?
Sim — o texto completo de “Rotas e recursos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Ruby Academy, atualize para CoddyKit PRO. O curso de Ruby Academy inclui 4 aulas no total.
O que vou aprender em “Rotas e recursos”?
Roteamento RESTful. Você pratica Ruby Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Ruby Academy?
Nenhuma experiência prévia é necessária. Ruby Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Rotas e recursos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Ruby Academy?
Sim. Cada aula de Ruby Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Rotas e recursos
- Controladores e ações
- Parâmetros fortes
- Visões e renderização