Référence rapide

Aide-mémoire routage Rails

Un guide de référence rapide pour le routage dans Rails : routes de ressources, actions member et collection, espaces de noms, scopes et helpers de routes.

· Publié le

Le routeur de Rails analyse les URL et les distribue aux actions des contrôleurs, tout en générant des chemins et des URL inverses via des méthodes d'aide.

Routes de ressources (resources)

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

  resources :articles do
    # Routes membres (opère sur un élément spécifique /articles/:id/publish)
    member do
      patch :publish
    end

    # Routes de collection (opère sur /articles/search)
    collection do
      get :search
    end

    # Ressources imbriquées (/articles/:article_id/comments)
    resources :comments, only: [:create, :destroy]
  end
end

Helpers de routes (Route Path Helpers)

Action Helper de chemin URL générée
index articles_path /articles
show article_path(@article) /articles/:id
new new_article_path /articles/new
edit edit_article_path(@article) /articles/:id/edit

Espaces de noms & Scopes (Namespaces & Scopes)

# Namespace : préfixe URL avec /admin et contrôleurs avec Admin::
namespace :admin do
  resources :users
end
# Route vers Admin::UsersController à /admin/users

# Scope : préfixe URL sans modifier l'espace de noms du contrôleur
scope "/v1" do
  resources :posts
end

Routes singulières personnalisées & redirections

# Mappage personnalisé de verbes HTTP
get '/about', to: 'pages#about'
post '/webhook', to: 'webhooks#receive'

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

Références

Sujets associés