Vogliamo gestire le schede dei libri di una biblioteca memorizzando:
titolo: string
autore: string
anno: integer
introduzione: text
disponibile: boolean
Chiediamo a Rails di creare l'impalcatura (scaffold) per un model Book (per i model scegliamo sempre un nome in inglese, con l'iniziale maiuscola):
Avviso salvaesame
Dedica tutto il tempo che serve a ricontrollare questo comando e a ripensare se hai inserito tutti i campi che ti servono, perché una volta avviato Rails procederà a creare tutta una serie di file che sarà difficile poi modificare manualmente.
Nel caso volessi eliminare lo scaffold appena creato, puoi farlo con il comando
rails destroy scaffold Book
Viene creata una migrazione, cioè una modifica alla struttura del database dell'applicazione:
Per applicare questa modifica al database diamo il comando:
Viene creato un model che ci permetterà di interagire col database da Rails, senza bisogno di scrivere query SQL:
Viene creato un controller con una serie di azioni:
index: lista dei libri
show: mostra un libro
new: mostra il form per creare un nuovo libro
create: crea un nuovo libro prendendo i dati dal form
edit: mostra il form per modificare un libro esistente
update: modifica un libro esistente prendendo i dati dal form
destroy: elimina un libro
Viene aggiunta una rotta, di tipo "resources", che in realtà è un insieme di rotte, una per ognuna delle azioni viste sopra:
Viene creata una view per ogni azione:
_form è un "partial", usato sia dalla vista new che dalla vista edit: