2. Si vuole aggiornare, modificare un record
(una riga) di una tabella relazionale
Dobbiamo essere capaci di fare due azioni
Edit
Update
3. L’azione di Edit ci deve permettere di
leggere e mostrare su di una form l’oggetto
da modificare
L’azione di Update ci deve permettere di
sostituire e salvare i dati modificati del
recordo
4. 1. Quando si inserisce un nuovo record, la sequenza delle operazioni
da eseguire inizia con la creazione di un oggetto vuoto, che è usato
per generare la form di input dei dati
2. Questa form è inviata dall’applicazione all’utente. L’utente inserisce
i valori nei campi della form e la rinvia all’applicazione
3. I dati dei campi sono convertiti in un oggetto che è salvato nel
database
4. All’utente è inviato un messaggio di conferma dell’avvenuto
inserimento
5. 1. Quando si vuole aggiornare un record esistente, occorre leggerlo
dalla tabella relazionale, i valori dei suoi campi sono usati per
inizializzare un oggetto e i campi della form di aggiornamento
2. L’applicazione invia la form all’utente che aggiorna i valori dei suoi
campi e la rinvia all’applicazione
3. I campi della form sono convertiti in un oggetto che è salvato nel
database
4. All’utente è inviato un messaggio di conferma dell’avvenuto
inserimento
6. Anzitutto nel controller, dobbiamo
aggiungere i metodi delle azioni edit e
update !
Poi dobbiamo implementare, con il
linguaggio ERB, la view edit.html.erb e
update.html.erb
7. Nel metodo edit occorre l’istruzione che legge dal database
il record da aggiornare, con chiave primaria :id, e
restituisce i suoi valori alla variabile @ad (ad esempio)
def edit
@ad=Ad.find(params[:id])
end
9. Come si può osservare
questa form è identica
a new.html.erb
Cambia ovviamente il
nome dell’azione che,
in questo caso, è
update.
10. Vi ricordo che l’istruzione sql, per
aggiornare una colonna di un record di una
tabella relazionale, ha il seguente formato:
UPDATE nome_tabella
set nome_colonna= nuovo_valore
where id=valore_id;