Ruby Academy · Lezione

Route e risorse

Routing RESTful

Lezione 1 di 413 passaggi

Route e risorse è una lezione Ruby Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ruby Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ruby Academy include 4 lezioni in totale.

Che cos'è il routing?

Il routing associa una richiesta HTTP in arrivo (un metodo e un percorso) a un'azione del controller che la gestisce. Il file delle route è la porta d'ingresso di un'app Rails.

  • Le route si trovano in config/routes.rb.
  • Ogni route collega un URL a controller#action.
  • Rails confronta le route dall'alto verso il basso.

Una route di base

La route più semplice associa un percorso a un'azione con get. In questo caso, una richiesta GET a /about chiama l'azione about di PagesController.

Rails.application.routes.draw do
  get "/about", to: "pages#about"
end

Verbi HTTP

Ogni route specifica un verbo che ne indica l'intento:

  • get legge i dati.
  • post crea i dati.
  • patch / put aggiorna i dati.
  • delete rimuove i dati.

Lo stesso percorso, con verbi diversi, può essere associato ad azioni diverse.

Risorse RESTful

L'helper resources genera in una sola riga le sette route REST standard per un modello. Questo è il cuore del routing convenzionale di Rails.

Rails.application.routes.draw do
  resources :articles
end

Le sette azioni

resources :articles crea route per:

  • index elenca gli elementi, show ne mostra uno.
  • new visualizza il modulo, create salva.
  • edit visualizza il modulo, update salva.
  • destroy elimina.

Questo copre l'intero ciclo di vita di una risorsa.

Helper dei percorsi

Le route generano helper con nome, così non deve mai scrivere gli URL direttamente. resources :articles fornisce articles_path, article_path(@article), new_article_path ed edit_article_path(@article).

articles_path            # => "/articles"
article_path(5)          # => "/articles/5"
new_article_path         # => "/articles/new"
edit_article_path(5)     # => "/articles/5/edit"

Limitare le azioni

Usi only o except per generare solo le route necessarie. In questo modo l'insieme delle route rimane ridotto e intenzionale.

resources :articles, only: [:index, :show]
resources :comments, except: [:edit, :update]

Risorse annidate

Annidi le risorse per esprimere l'appartenenza nell'URL. I commenti appartenenti a un articolo diventano /articles/1/comments. La route annidata passa article_id al controller.

resources :articles do
  resources :comments
end

# GET /articles/1/comments

La route root

root definisce cosa viene caricato in /, la home page dell'app. Per maggiore chiarezza, la posizioni vicino all'inizio del file delle route.

Rails.application.routes.draw do
  root "articles#index"
end

Ispezionare le route

Esegua rails routes per elencare ogni route con il relativo verbo, percorso, helper e controller#action. È il modo più rapido per comprendere o fare il debug del routing di un'app.

Route member e collection

Aggiunga azioni personalizzate a una risorsa:

  • Le route member agiscono su un singolo record: /articles/1/publish.
  • Le route collection agiscono sull'insieme: /articles/search.
resources :articles do
  member { post :publish }
  collection { get :search }
end

Controllo rapido

Verifichi la sua comprensione del routing.

Riepilogo: route e risorse

Ha imparato il routing RESTful:

  • Le route associano verbo e percorso a controller#action.
  • resources genera sette route standard.
  • Gli helper dei percorsi evitano di scrivere URL direttamente.
  • only/except, l'annidamento e le route member e collection personalizzano l'insieme.
  • root imposta la home page; rails routes elenca tutto.

Ora scriverà i controller che gestiscono queste richieste.

Gratis per iniziare

Impara Ruby con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
29
Lezioni
109

Domande Frequenti

La lezione «Route e risorse» è gratuita?

Sì — il testo completo di «Route e risorse» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ruby Academy, passa a CoddyKit PRO. Il corso Ruby Academy include 4 lezioni in totale.

Cosa imparerò in «Route e risorse»?

Routing RESTful Eserciti Ruby Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Ruby Academy?

Non è richiesta alcuna esperienza precedente. Ruby Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Route e risorse»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Ruby Academy?

Sì. Ogni lezione Ruby Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Route e risorse
  2. Controller e action
  3. Strong Parameters
  4. Viste e rendering
← Torna a Ruby Academy