14
Lezione guidata Ruby on Rails 2) action ‘show’ Prof. Silvano Natalizi, maggio 2009 Esercitazione VA Liceo Tecnico

Lezione Guidata Ruby On Rails Show

Embed Size (px)

DESCRIPTION

Lezione guidati sull'azione show per visualizzare un record, di una tabella relazionale, identificato da un valore della sua chiave primaria id

Citation preview

Page 1: Lezione Guidata Ruby On Rails Show

Lezione guidata Ruby on Rails

2) action ‘show’

Prof. Silvano Natalizi, maggio 2009

Esercitazione VA Liceo Tecnico

Page 2: Lezione Guidata Ruby On Rails Show

Dopo aver creato il modello multisala ed il metodo new

Nella precedente ‘lezione guidata’, abbiamo creato il modello multisala, il controllore multisalas ed il metodo new per inserire dei record nella tabella multisalas.

Ora creiamo l’azione ‘show’ per leggere un record dalla tabella multisalas

Page 3: Lezione Guidata Ruby On Rails Show

Azione show

Quale codice bisogna scrivere per implementare un’azione ?

In generale per ogni azione bisogna scrivere un metodo nel controllore ed una view

In questo caso va scritto il metodo show e la view show.html.erb

Page 4: Lezione Guidata Ruby On Rails Show

Metodo show

1. apri il controllore multisalas con un editor

2. scrivi le istruzioni:

def show

@multisala=Multisala.find(params[:id])

end

Page 5: Lezione Guidata Ruby On Rails Show

params[:id]

params[:id] contiene i valori dei campi di una riga della tabella relazionale multisalas, della riga identificata univocamente da un valore dato alla

chiave primaria id.

Ma questo valore chi lo fornisce a id ?Come facciamo a scegliere questo valore ?

Page 6: Lezione Guidata Ruby On Rails Show

Digitiamo il valore di id nel url

Possiamo digitare il valore di id nell’indirizzo url della pagina webhttp://localhost:3000/multisalas/1http://localhost:3000/multisalas/2http://localhost:3000/multisalas/3….

Page 7: Lezione Guidata Ruby On Rails Show

http://localhost/multisalas/1

lancia il server

ruby script/server apri il browser con l’indirizzo url

http://localhost:3000/multisalas/1 verifica l’errore

Unknown action

Page 8: Lezione Guidata Ruby On Rails Show

Inserisci la nuova route

Rails deve sapere quale codice eseguire per la route http//localhost:3000/multisalas/1

Apri il file di configurazione routes.rb nella cartella config

Aggiungi all’inizio del file la seguente riga:

map.connect ‘/multisalas/:id’, :controller=>’multisalas’, :action=>’show’

Page 9: Lezione Guidata Ruby On Rails Show

Aggiungi anche le route dei metodi ‘new’ e ‘create’

Aggiungi all’inizio del file config/routes.rb:

map.connect ‘multisalas/new’, :controller=>’multisalas’, :action=>’new’

map.connect ‘multisalas/create’, :controller=>’multisalas’, :action=>’create’

Fai attenzione alle virgole ed ai segni di virgolette ‘ (non sono apostrofi)

Page 10: Lezione Guidata Ruby On Rails Show

Il file routes.rb dopo le nostre modifiche

Page 11: Lezione Guidata Ruby On Rails Show

Leggiamo il record di chiave id=3

apri la pagina http://localhost:300/multisalas/3 se ricevi il messaggio

ActiveRecord::RecordNotFound in MultisalasController#show

Couldn't find Multisala with ID=2 non ti spaventare, significa che non c’è il record

con chiave 3. In tal caso prova altre chiavi, come 1,2…

Quando ricevi il messaggio Template is missing, va bene perché ancora dobbiamo scrivere la view show.html.erb

Page 12: Lezione Guidata Ruby On Rails Show

show.html.erb

scrivere il seguente codice e salvarlo nella cartella views/multisalas

<h1>Multisala</h1>

<p><b>chiave primaria:</b> <%= @multisala.id %> </p>

<p><b>nome :</b> <%= @multisala.nome %> </p>

<p><b>numero sale :</b> <%= @multisala.numerosale%></p>

<p><b>localita' :</b> <%= @multisala.localita %> </p>

Page 13: Lezione Guidata Ruby On Rails Show

Ricaricare la pagina

ricarica la pagina http://localhost/multisalas/3 verifica di ottenere il seguente risultato :

Page 14: Lezione Guidata Ruby On Rails Show

Continua con l’azione ‘update’