Your SlideShare is downloading. ×
Esercitazioneguidata Rubyon Rails Lista
Esercitazioneguidata Rubyon Rails Lista
Esercitazioneguidata Rubyon Rails Lista
Esercitazioneguidata Rubyon Rails Lista
Esercitazioneguidata Rubyon Rails Lista
Esercitazioneguidata Rubyon Rails Lista
Esercitazioneguidata Rubyon Rails Lista
Esercitazioneguidata Rubyon Rails Lista
Esercitazioneguidata Rubyon Rails Lista
Esercitazioneguidata Rubyon Rails Lista
Esercitazioneguidata Rubyon Rails Lista
Esercitazioneguidata Rubyon Rails Lista
Esercitazioneguidata Rubyon Rails Lista
Esercitazioneguidata Rubyon Rails Lista
Esercitazioneguidata Rubyon Rails Lista
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Esercitazioneguidata Rubyon Rails Lista

600

Published on

come creare e visualizzare una lista di record ottenuti dal finder find(:all)

come creare e visualizzare una lista di record ottenuti dal finder find(:all)

Published in: Education, Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
600
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. esercitazione guidata Ruby on Rails 3) action ‘lista’ Prof. Silvano Natalizi, maggio 2009 Esercitazione VA Liceo Tecnico
  • 2. Differenza tra l’azione ‘show’ e ‘lista’
    • L’azione ‘show’ legge e visualizza i valori dei campi di un solo record
    • L’azione ‘lista’ legge e visualizza i valodei dei campi di un gruppo di record o addirittura di tutti i record di una tabella ( o del join tra più tabelle)
  • 3. Azione ‘lista’
    • 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 lista e la view lista.html.erb
  • 4. Il metodo ‘lista’
    • apri il controllore multisalas con un editor
    • scrivi le istruzioni:
    • def lista
    • @multisala=Multisala.find(:all)
    • end
    • 3. Osserva che il finder legge tutti i record della tabella associata al modello Multisala
  • 5. L’array @multisala
    • @multisala è un array
    • Pertanto le sue variabili sono accessibili tramite indice numerico @multisala[i]
    • Ogni cella di questo array contiene un oggetto multisala
    • Ogni attributo di un oggetto è accessibile tramite l’istruzione oggetto.attributo (prima il nome dell’oggetto, poi il nome dell’attributo)
    • In questo caso @multisala.nome,
    • @multisala.numerosale, @multisala.localita
  • 6. L’iteratore for
    • L’iteratore for è un modo per accedere ad ogni elemento di una collezione, quale quella di un array
    • La sintassi di questa for è:
    • for var_nome in collezione_nome do
    • istruzioni(var_nome)
    • end
  • 7. Come scrivere la view di output: lista.html.erb
    • Il gruppo di record letto dal finder è memorizzato nell’array @multisala
    • Gli elementi dell’array sono gli oggetti Multisala, ciascuno dei quali corrisponde ad una riga della tabelle multisalas
    • Per visualizzare tutti questi oggetti possiamo utilizzare l’elemento html <table>
    • Iteriamo l’array @multisala con l’iteratore for
    • Ciascun oggetto lo visualizziamo in una riga <tr>
    • Poiché dobbiamo visualizzare i valori delle variabili degli oggetti abbiamo bisogno del linguaggio ERB
    • <%=… %>
  • 8. codice lista.html.erb 1
    • Metto l’intestazione della lista
      • <h1>Lista delle Multisale</h1>
    • Inserisco la tabella html e la prima riga di intestazione delle colonne della tabella
      • <table>
      • <th>Nome</th><th>Numero sale</th><th>Localita’</th>
  • 9. codice lista.html.erb 2
    • Inserisco l’iteratore for
      • <% for multisala in @multisala %>
      • <% end %>
  • 10.
    • Inserisco all’interno dell’iteratore for l’istruzione da ripetere:
      • una riga con i valori degli attributi dell’oggetto multisala
      • <% for m in @multisala %>
      • <tr><td><%= m.nome %></td>
      • <td><%= m.numerosale %></td>
      • <td><%= m.localita %></td>
      • </tr>
      • <% end %>
      • </table>
    • salva nella cartella views/multisalas con il nome lista.html.erb
  • 11. Che differenza c’è tra @multisala e multisala
    • In Rails una variabile preceduta da @ significa visibilità globale (ossia da tutti i metodi della medesima classe) – variabile globale
    • Una variabile non preceduta da @ è una variabile locale, ossia visibile solo all’interno del metodo dove è definita.
  • 12. Aggiungi a routes.rb
    • Aggiungi in cima al file config/routes.rb la nuova strada:
      • map.connect &quot;multisalas/lista&quot;,
      • :controller=>'multisalas',
      • :action=>'lista'
  • 13. Lancia il server e prova il metodo ‘lista’
    • Naviga nella cartella cinema e Lancia il server
      • ruby script/server
    • apri il browser con l’indirizzo http://localhost:3000/multisalas/lista
    • E verifica la lista dei record ottenuti
  • 14. Risultato della lista
  • 15. Continua…

×