Γρήγορη αναφορά

Συνοπτικός οδηγός δρομολόγησης Rails

Ένας γρήγορος οδηγός αναφοράς για τη δρομολόγηση Rails: resourceful διαδρομές, ενέργειες member και collection, namespaces, scopes και βοηθοί διαδρομών.

· Δημοσιεύτηκε

Ο δρομολογητής του Rails αναγνωρίζει διευθύνσεις URL και τις αποστέλλει στην αντίστοιχη ενέργεια του controller, δημιουργώντας παράλληλα διαδρομές μέσω helpers.

Διαδρομές πόρων (resources)

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

  resources :articles do
    # Διαδρομές μέλους (λειτουργεί σε συγκεκριμένο στοιχείο /articles/:id/publish)
    member do
      patch :publish
    end

    # Διαδρομές συλλογής (λειτουργεί στο /articles/search)
    collection do
      get :search
    end

    # Ένθετοι πόροι (/articles/:article_id/comments)
    resources :comments, only: [:create, :destroy]
  end
end

Βοηθοί διαδρομών (Route Path Helpers)

Ενέργεια (Action) Βοηθός διαδρομής (Path Helper) Παραγόμενο 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: πρόθεμα /admin στο URL και Admin:: στους controllers
namespace :admin do
  resources :users
end
# Δρομολογεί στο Admin::UsersController στο /admin/users

# Scope: πρόθεμα στο URL χωρίς τροποποίηση του namespace του controller
scope "/v1" do
  resources :posts
end

Προσαρμοσμένες μεμονωμένες διαδρομές & ανακατευθύνσεις

# Προσαρμοσμένη αντιστοίχιση ρημάτων HTTP
get '/about', to: 'pages#about'
post '/webhook', to: 'webhooks#receive'

# 301 Μόνιμη ανακατεύθυνση
get '/stories', to: redirect('/articles')

Πηγές & Αναφορές

Σχετικά θέματα