Kurzreferenz

Rails-Routing Spickzettel

Ein Schnellreferenz-Leitfaden für Rails-Routing: Ressourcen-Routen, Member- und Collection-Aktionen, Namespaces, Scopes, Constraints und Route-Helper.

· Veröffentlicht

Der Rails-Router erkennt URLs und leitet sie an Controller-Aktionen weiter, während er gleichzeitig reziproke Pfade und URLs über Helper-Methoden generiert.

Ressourcenbasierte Routen (resources)

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

  resources :articles do
    # Member-Routen (operiert auf bestimmtem Element /articles/:id/publish)
    member do
      patch :publish
    end

    # Collection-Routen (operiert auf /articles/search)
    collection do
      get :search
    end

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

Routen-Pfad-Helper (Route Path Helpers)

Aktion Pfad-Helper Generierte URL
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 & Scopes

# Namespace: URL mit /admin und Controller mit Admin:: voranstellen
namespace :admin do
  resources :users
end
# Routet zu Admin::UsersController unter /admin/users

# Scope: URL-Präfix ohne Änderung des Controller-Namespace
scope "/v1" do
  resources :posts
end

Benutzerdefinierte Einzelrouten & Weiterleitungen

# Benutzerdefiniertes Verb-Mapping
get '/about', to: 'pages#about'
post '/webhook', to: 'webhooks#receive'

# 301 Permanente Weiterleitung
get '/stories', to: redirect('/articles')

Referenzen

Verwandte Themen