Referință rapidă

Fișă de referință pentru rutarea în Rails

Ghid rapid de referință pentru rutarea în Rails: rute de resurse, acțiuni member și collection, namespace-uri, scope-uri și helperi de rute.

· Publicat

Routerul Rails recunoaște URL-urile și le transmite acțiunilor potrivite din controllere, generând în același timp căi și URL-uri reciproce prin intermediul metodelor helper.

Rute bazate pe resurse (resources)

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

  resources :articles do
    # Rute membre (operează pe un element specific /articles/:id/publish)
    member do
      patch :publish
    end

    # Rute de colecție (operează pe /articles/search)
    collection do
      get :search
    end

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

Metode helper de cale (Route Path Helpers)

Acțiune Helper de cale URL Generat
index articles_path /articles
show article_path(@article) /articles/:id
new new_article_path /articles/new
edit edit_article_path(@article) /articles/:id/edit

Namespace-uri și Scope-uri (Namespaces & Scopes)

# Namespace: prefix URL /admin și controllere grupate sub Admin::
namespace :admin do
  resources :users
end
# Rutează către Admin::UsersController la /admin/users

# Scope: prefix URL fără modificarea namespace-ului controllerului
scope "/v1" do
  resources :posts
end

Rute singulare personalizate și redirecționări

# Mapare personalizată a verbelor HTTP
get '/about', to: 'pages#about'
post '/webhook', to: 'webhooks#receive'

# Redirecționare permanentă 301
get '/stories', to: redirect('/articles')

Referințe

Subiecte conexe