Il routing di Rails abbraccia le convenzioni REST: una risorsa, sette azioni standard. E una riga le genera tutte.
# config/routes.rb
resources :launches
Questo crea sette rotte con i verbi HTTP giusti:
GET /launches index (lista)
GET /launches/new new (form nuovo)
POST /launches create (salva)
GET /launches/:id show (dettaglio)
GET /launches/:id/edit edit (form modifica)
PATCH /launches/:id update (aggiorna)
DELETE /launches/:id destroy (elimina)
Verbo + URL mappano su un'azione del controller in modo prevedibile. Puoi limitare (only: [:index, :show]), annidare (resources :providers do resources :launches end) o aggiungere rotte custom con member e collection.
Il valore è la prevedibilità: chiunque conosca Rails sa già come sono fatte le tue rotte, senza leggere il file. Lanci rails routes e vedi la mappa completa. Convenzione sopra configurazione: meno decisioni, meno sorprese.