Uso de cookies em comunidade.academiadoruby.com.br

Utilizamos cookies para melhorar sua experiência. Você pode aceitar ou recusar o uso de cookies não essenciais. Sua escolha ficará salva por 6 meses. Saiba mais em Política de Privacidade · Política de Cookies

  1. Conteúdos
  2. Lives

Organizando Rotas (e outras estruturas) nos projetos Rails com Nested Controllers - Live #047

Daniel Denis Moreira

· 4 min de leitura

Conteúdo em Vídeo

Faça login para assistir

Se você já sentiu aquela pontada de dúvida ao criar uma rota manual como get '/post_comentarios/:id', ou se viu perdido tentando passar IDs escondidos em formulários para manter a relação entre dois objetos, este artigo é para você.

No Rails, nós não lutamos contra a estrutura; nós usamos a Convenção sobre Configuração para ganhar velocidade. Organizar rotas com Nested Controllers (Controllers Aninhados) não é um capricho estético ou "perfumaria". É sobre manter o contexto e a segurança da sua aplicação.

O que é e por que você deveria se importar?

Controllers aninhados operam dentro do contexto de outro recurso. Em vez de um /artigos/1 genérico, temos /categorias/5/artigos/1.

Se um comentário não existe sem um post, ou uma aula não existe sem um curso, por que a sua rota deveria permitir que eles existissem isolados?

A vantagem real dessa abordagem:

  1. Segurança Nativa: Você filtra os dados sempre partindo do ID do pai. Isso evita que um usuário mal-intencionado acesse um recurso que não pertence àquele contexto apenas trocando o ID na URL.

  2. Código RESTful: Você mantém as ações padrão (index, show, new). Não precisa inventar nomes de métodos como lista_por_categoria. O index já nasce sabendo o que listar.

  3. Clareza de Produto: A URL se torna uma trilha de pão para o usuário e para o desenvolvedor.

Conteúdo Exclusivo

Este conteúdo está disponível para membros. Faça login para continuar lendo.

Fazer Login

Não tem conta? Criar conta


Tópicos Relacionados
Compartilhar

Escrito por Daniel Denis Moreira

Criador da Academia do Ruby.
Acredito que simplicidade é estratégia — e que Rails é uma vantagem competitiva.

Feedback

Esse conteúdo foi…

Comentários (0)

Ainda não há comentários. Seja o primeiro a comentar!

Faça login para deixar um comentário.

Conteúdos Relacionados