Lezione guidata Ruby on Rails  1)  action :new Prof. Silvano Natalizi, maggio 2009 Esercitazione VA Liceo Tecnico
Creare l’applicazione <ul><li>Creare l’applicativo, ad esempio: cinema,  </li></ul><ul><ul><li>rails cinema </li></ul></ul...
Scrivere nel controllore cinemas le istruzioni del metodo new  <ul><li>Aprire con un editor (programmer’s notepad) il cont...
Scrivere la form new.html.erb <ul><li>Scrivere la form new.html.erb e salvarla nella cartella view/cinemas </li></ul>
Lanciare l’applicativo <ul><li>Mandare in esecuzione il server </li></ul><ul><ul><li>ruby script/server </li></ul></ul><ul...
Scrivere il metodo create <ul><li>Scrivere il metodo create nel controllore multisalas </li></ul><ul><ul><li>def create </...
Inserire dei dati nella form e premere il bottone create <ul><li>Inserire dei dati nella form e premere il bottone create ...
Chiudere il server e verificare che i dati siano presenti nel database <ul><li>Chiudere il server </li></ul><ul><ul><li>ct...
Inserire nel modello i validatori <ul><li>Aprire il modello ed inserire i validatori e salvare </li></ul><ul><ul><li>class...
Inserire nella new.html.erb il messaggio <ul><li>Inserire nella form new.html.erb la riga: </li></ul><ul><ul><li><%= f.err...
Modificare il metodo create del controllore multisalas <ul><li>Modificare il codice al seguente modo: </li></ul><ul><ul><l...
Verificare gli errori dei validatori <ul><li>Lanciare il server (ruby script/server) </li></ul><ul><li>Nella form di input...
Continua con l’azione ‘show’
Upcoming SlideShare
Loading in...5
×

Lezione Guidata Ruby On Rails Insert

930

Published on

come creare una form per inserire i dati in una tabella relazionale, con l'azione new e create

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

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

No notes for slide

Lezione Guidata Ruby On Rails Insert

  1. 1. Lezione guidata Ruby on Rails 1) action :new Prof. Silvano Natalizi, maggio 2009 Esercitazione VA Liceo Tecnico
  2. 2. Creare l’applicazione <ul><li>Creare l’applicativo, ad esempio: cinema, </li></ul><ul><ul><li>rails cinema </li></ul></ul><ul><ul><li>cd cinema </li></ul></ul><ul><li>Creare la prima tabella relazionale di nome multiSala con i campi nome, numerosale, località </li></ul><ul><ul><li>ruby script/generate model multisala nome:string numerosale:integer localita:string </li></ul></ul><ul><ul><li>rake db:migrate </li></ul></ul><ul><li>Creare il controllore cinema (al plurale) e il metodo new </li></ul><ul><ul><li>ruby script/generate controller multisalas new </li></ul></ul>
  3. 3. Scrivere nel controllore cinemas le istruzioni del metodo new <ul><li>Aprire con un editor (programmer’s notepad) il controllore multisalas ed inserire le istruzioni del metodo new e salva </li></ul><ul><ul><li>def new </li></ul></ul><ul><ul><li>@multisala=Multisala.new </li></ul></ul><ul><ul><li>end </li></ul></ul>
  4. 4. Scrivere la form new.html.erb <ul><li>Scrivere la form new.html.erb e salvarla nella cartella view/cinemas </li></ul>
  5. 5. Lanciare l’applicativo <ul><li>Mandare in esecuzione il server </li></ul><ul><ul><li>ruby script/server </li></ul></ul><ul><li>Aprire con firefox una pagina web con url </li></ul><ul><ul><li>localhost:3000/multisalas/new </li></ul></ul><ul><li>Verificare che sia presente la form per l’inserimento dei dati </li></ul><ul><li>Verificare che premendo il bottone create si abbia l’errore Unknown action </li></ul><ul><li>L’errore è ovvio, ancora non abbiamo implementato il metodo create ! </li></ul>
  6. 6. Scrivere il metodo create <ul><li>Scrivere il metodo create nel controllore multisalas </li></ul><ul><ul><li>def create </li></ul></ul><ul><ul><ul><li>@multisala=Multisala.new(params[:multisala]) </li></ul></ul></ul><ul><ul><ul><li>@multisala.save </li></ul></ul></ul><ul><ul><ul><li>redirect_to :action=>’new’ </li></ul></ul></ul><ul><ul><ul><li>end </li></ul></ul></ul>
  7. 7. Inserire dei dati nella form e premere il bottone create <ul><li>Inserire dei dati nella form e premere il bottone create </li></ul><ul><li>Verificare che venga reindirizzata la medesima pagina (con la medesima form di input) </li></ul><ul><li>Inserire altri dati </li></ul>
  8. 8. Chiudere il server e verificare che i dati siano presenti nel database <ul><li>Chiudere il server </li></ul><ul><ul><li>ctrl_c </li></ul></ul><ul><ul><li>cd db </li></ul></ul><ul><li>Aprire il database development.sqlite3 </li></ul><ul><ul><li>sqlite3 development.sqlite3 </li></ul></ul><ul><li>Leggere tutti i campi e tutti i record della tabella multisalas </li></ul><ul><ul><li>select * from multisalas; </li></ul></ul><ul><li>Uscire dal database </li></ul><ul><ul><li>.exit </li></ul></ul>
  9. 9. Inserire nel modello i validatori <ul><li>Aprire il modello ed inserire i validatori e salvare </li></ul><ul><ul><li>class Multisala < ActiveRecord::Base validates_presence_of :nome </li></ul></ul><ul><ul><li>validates_presence_of :numerosale validates_presence_of :localita validates_numericality_of :numerosale </li></ul></ul><ul><ul><li>end </li></ul></ul>
  10. 10. Inserire nella new.html.erb il messaggio <ul><li>Inserire nella form new.html.erb la riga: </li></ul><ul><ul><li><%= f.error_messages %> </li></ul></ul><ul><li><h1>new.html.erb</h1> </li></ul><ul><li><% form_for(@multisala, :url=>{:action=>'create'}) do |f| %> </li></ul><ul><li><%= f.error_messages %> </li></ul><ul><li><p><b>Nome</b><br /><%= f.text_field :nome %></p> </li></ul><ul><li><p><b>numero sale</b><br /><%= f.text_field :numerosale %></p> </li></ul><ul><li><p><b>Localita'</b><br /><%= f.text_field :localita %></p> </li></ul><ul><li><p><%= f.submit &quot;create&quot; %> </p> </li></ul><ul><li><% end %> </li></ul>
  11. 11. Modificare il metodo create del controllore multisalas <ul><li>Modificare il codice al seguente modo: </li></ul><ul><ul><li>def create @multisala=Multisala.new(params[:multisala]) </li></ul></ul><ul><ul><li>if @multisala.save </li></ul></ul><ul><ul><li>redirect_to :action=>'new’ </li></ul></ul><ul><ul><li>else </li></ul></ul><ul><ul><li>render :template=>&quot;multisalas/new“ </li></ul></ul><ul><ul><li>end </li></ul></ul><ul><ul><li>end </li></ul></ul>
  12. 12. Verificare gli errori dei validatori <ul><li>Lanciare il server (ruby script/server) </li></ul><ul><li>Nella form di input non inserire nessun dato e premere il bottone create. Verificare gli errori di validazione </li></ul><ul><li>Inserire tutti i dati, ma nel ‘numero sale’ mettere una stringa anziché un numero. Verificare l’errore di numericità </li></ul><ul><li>Infine inserire tutti i dati in maniera corretta e verificare che non ci sia più nessun errore </li></ul>
  13. 13. Continua con l’azione ‘show’
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×