Ancora sui data type di rails


#1

Mi sembra che datetime e time siano simile per non dire uguali o
sbaglio?
Esiste un tipo di dato per rappresentare solo le ore i minuti e i
secondi?


#2

2008/10/31 Mauro removed_email_address@domain.invalid

Mi sembra che datetime e time siano simile per non dire uguali o sbaglio?
Esiste un tipo di dato per rappresentare solo le ore i minuti e i secondi?

Scusate ho preso una cantonata, avevo aggiornato la tabella cambiando il
tipo di dato di un campo da datetime a time ma non avevo modificato la
view
che continuava a presentarmi nella form sempre il tipo di dato datetime.


#3

2008/10/31 Mauro removed_email_address@domain.invalid

In effetti pero’ ho visto che rifacendo la migrate da zero, nel database
la
colonna e’ di tipo time mentre la view mi mette il tipo datetime nella
form…come mai?


#4

In effetti pero’ ho visto che rifacendo la migrate da zero, nel database la
colonna e’ di tipo time mentre la view mi mette il tipo datetime nella
form…come mai?

Migrate va a toccare unicamente il tuo database, e non tocca la logica
che
definisce le viste.
Per la modifica della logica devi usare script/generate … e family.


Andrea R., http://mikamai.com
Writing http://sensejs.wordpress.com/
Collaborating http://therubymine.it
Reading http://stacktrace.it


#5

2008/11/3 Andrea R. removed_email_address@domain.invalid

Per la modifica della logica devi usare script/generate … e family.

Lo scaffonding mi genera anche alcune viste e ho visto che come
datatype,
sebbene nella migrate abbia messo time, mi mette datetime e non capisco
perche’.


#6

Lo scaffonding mi genera anche alcune viste e ho visto che come datatype,
sebbene nella migrate abbia messo time, mi mette datetime e non capisco
perche’.

Rispetto alle prime versioni di Rails dove i campi delle viste venivano
visualizzati dinamicamente (quindi se cambiavano nel DB cambiavano anche
nelle viste), adesso una volta generate le viste resta il campo che
c’era
nel momento in cui sono state generate.

In altre parole credo tu abbia usato lo scaffold quando avevi nel DB un
field datetime. In seguito tu hai cambiato il campo in time, ma le viste
sono rimaste (giustamente) quelle precedenti. La soluzione sta nel
ri-generare lo scaffold, o modificare a manina il campo.


Andrea R., http://mikamai.com
Writing http://sensejs.wordpress.com/
Collaborating http://therubymine.it
Reading http://stacktrace.it


#7

2008/11/3 Mauro removed_email_address@domain.invalid

In altre parole credo tu abbia usato lo scaffold quando avevi nel DB un

field datetime. In seguito tu hai cambiato il campo in time, ma le viste
sono rimaste (giustamente) quelle precedenti. La soluzione sta nel
ri-generare lo scaffold, o modificare a manina il campo.

No, ho rifatto tutto da zero.
Nel database ho il tipo time, nella vista ho sempre il datetime.

E’ probabile che il tipo time non viene gestito da rails e la cosa e’
fastidiosa.
Ho popolato il database e le colonne tipo time hanno i valori corretti
del
tipo “22:09:00”, ecc.
Se, utilizzando lo scaffolding, faccio uno show dei record le colonne
tipo
time del database mi vengono visualizzate col formato datetime.


#8

In altre parole credo tu abbia usato lo scaffold quando avevi nel DB un
field datetime. In seguito tu hai cambiato il campo in time, ma le viste
sono rimaste (giustamente) quelle precedenti. La soluzione sta nel
ri-generare lo scaffold, o modificare a manina il campo.

No, ho rifatto tutto da zero.
Nel database ho il tipo time, nella vista ho sempre il datetime.