Innanzitutto, grazie per gli aiuti precedenti, molto utili
Ora passiamo ad un altro scoglio.
L’utente tra i vari dati deve anche scrivere una data. Naturalmente non
ho la più pallida idea di come replicare il metodo di inserimento che si
crea in automatico se non si genera una propria new.rhtml (caselle di
scelta indipendenti per giorno, mese, anno), quindi ho optato per far
inserire la data in formato “ggmmaa” (esempio: 27 febbraio 2007 diventa:
270207), che mi pare anche più veloce.
Mysql però ha la notazione inglese (yyyy-mm-dd), quindi dovrei al
massimo far inserire la data così: aammgg (quindi 070227), ma non mi
pare il caso.
La soluzione da me trovata è prendere il dato inserito ed elaborarlo per
avere ciò che Mysql si aspetta, però… non sono riuscito a capire come
dirgli “prendi il dato che c’è qui, passalo con questo script (o quello
che sarà ), prendi il risultato e fanne quello che devi”.
Ho cercato di seguire queste indicazioni:
http://source.mihelac.org/articles/2006/09/13/parsing-european-date-format-in-ruby-rails
ma per ora sono ancora mezzo ostrogoto antico.
Da quello che ho capito ho varie opzioni: scrivere il codice ruby
direttamente nella pagina interessata o metterlo in uno script nella
directory lib e poi in qualche maniera richiamarlo, oppure inserirlo in
controllers/controllo_della_tabella_dati.rb (o sarebbe meglio in
modules?).
Sto cercando esempi o qualcosa di spiegato meglio e più in dettaglio, ma
la ricerca è dura…
Lo scriptino fatto da me è questo (ora è fatto per dargli la data a mano
lanciando ruby, appena so dove metterlo la variabile “data” sarà quella
inserita dall’utente nella pagina web):
puts 'Inserisci la data: ’
data = gets
giorno = data[0,2]
mese = data[2,2]
anno = data[4,2]
datar = anno.to_s + mese.to_s + giorno.to_s
puts “data rovesciata:” + datar
Dato che dovrò fare lo stesso con altre date in futuro, conviene
metterlo in un posto dove sia richiamabile, senza inserirlo ogni volta
nelle pagine.
Quindi, riassumendo un po’: come devo fare per prendere un dato inserito
in una form ed elaborarlo prima che venga spedito nel database?
Ah, per la visualizzazione non ci sono problemi: le indicazioni trovate
nei precedenti post sono ottime
Grazie ancora per la pazienza
Daneel O.