Referencia rápida

Chuleta de enrutamiento de Rails

Guía de referencia rápida para el enrutamiento en Rails: rutas de recursos, acciones member y collection, namespaces, scopes, restricciones y helpers de ruta.

· Publicado

El enrutador de Rails reconoce URLs y las despacha a la acción correspondiente del controlador, generando al mismo tiempo rutas y URLs recíprocas mediante helpers.

Rutas de Recursos (resources)

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

  resources :articles do
    # Rutas de miembro (opera sobre un elemento específico /articles/:id/publish)
    member do
      patch :publish
    end

    # Rutas de colección (opera sobre /articles/search)
    collection do
      get :search
    end

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

Helpers de Rutas (Route Path Helpers)

Acción Helper de Ruta URL Generada
index articles_path /articles
show article_path(@article) /articles/:id
new new_article_path /articles/new
edit edit_article_path(@article) /articles/:id/edit

Espacios de Nombres y Ámbitos (Namespaces & Scopes)

# Namespace: prefijo de URL /admin y controladores Admin::
namespace :admin do
  resources :users
end
# Enruta a Admin::UsersController en /admin/users

# Scope: prefijo de URL sin alterar el namespace del controlador
scope "/v1" do
  resources :posts
end

Rutas Singulares Personalizadas y Redirecciones

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

# Redirección permanente 301
get '/stories', to: redirect('/articles')

Referencias

Temas relacionados