Referência rápida

Guia de referência de roteamento do Rails

Guia de referência rápida para roteamento no Rails: rotas de recursos, ações member e collection, namespaces, scopes, restrições e helpers de rota.

· Publicado

O roteador do Rails reconhece URLs e as encaminha para a ação correspondente do controller, gerando caminhos e URLs recíprocos por meio de helpers.

Rotas de Recursos (resources)

Rails.application.routes.draw do
  root "home#index"

  resources :articles do
    # Rotas de membro (opera em um item específico /articles/:id/publish)
    member do
      patch :publish
    end

    # Rotas de coleção (opera em /articles/search)
    collection do
      get :search
    end

    # Recursos aninhados (/articles/:article_id/comments)
    resources :comments, only: [:create, :destroy]
  end
end

Helpers de Caminho de Rota (Route Path Helpers)

Ação Helper de Caminho URL Gerada
index articles_path /articles
show article_path(@article) /articles/:id
new new_article_path /articles/new
edit edit_article_path(@article) /articles/:id/edit

Namespaces e Escopos (Namespaces & Scopes)

# Namespace: prefixo /admin na URL e controllers com Admin::
namespace :admin do
  resources :users
end
# Direciona para Admin::UsersController em /admin/users

# Scope: prefixo na URL sem modificar o namespace do controller
scope "/v1" do
  resources :posts
end

Rotas Singulares Personalizadas e Redirecionamentos

# Mapeamento personalizado de verbos HTTP
get '/about', to: 'pages#about'
post '/webhook', to: 'webhooks#receive'

# Redirecionamento permanente 301
get '/stories', to: redirect('/articles')

Referências

Temas relacionados