# Ancora sui data type di rails

**URL:** <https://www.ruby-forum.com/t/ancora-sui-data-type-di-rails/152258>\
**Category:** IT\
**Created:** [October 31, 2008, 10:53pm UTC](https://www.ruby-forum.com/t/ancora-sui-data-type-di-rails/152258 "2008-10-31T22:53:28Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![mauro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/45deac/32.png) [@mauro](https://www.ruby-forum.com/u/mauro)\
**Post date:** [October 31, 2008, 10:53pm UTC](https://www.ruby-forum.com/t/ancora-sui-data-type-di-rails/152258/1 "2008-10-31T22:53:28Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![mauro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/45deac/32.png) [@mauro](https://www.ruby-forum.com/u/mauro)\
**Post date:** [October 31, 2008, 11:42pm UTC](https://www.ruby-forum.com/t/ancora-sui-data-type-di-rails/152258/2 "2008-10-31T23:42:35Z")

</div>

2008/10/31 Mauro [removed\_email\_address@domain.invalid](mailto: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.

---

<div class="post-metadata">

**Author:** ![mauro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/45deac/32.png) [@mauro](https://www.ruby-forum.com/u/mauro)\
**Post date:** [November 2, 2008, 11:07pm UTC](https://www.ruby-forum.com/t/ancora-sui-data-type-di-rails/152258/3 "2008-11-02T23:07:35Z")

</div>

2008/10/31 Mauro [removed\_email\_address@domain.invalid](mailto: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?

---

<div class="post-metadata">

**Author:** ![mauro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/45deac/32.png) [@mauro](https://www.ruby-forum.com/u/mauro)\
**Post date:** [November 3, 2008, 12:30am UTC](https://www.ruby-forum.com/t/ancora-sui-data-type-di-rails/152258/4 "2008-11-03T00:30:39Z")

</div>

> 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](http://mikamai.com)  
Writing [http://sensejs.wordpress.com/](http://sensejs.wordpress.com/)  
Collaborating [http://therubymine.it](http://therubymine.it)  
Reading [http://stacktrace.it](http://stacktrace.it)

---

<div class="post-metadata">

**Author:** ![mauro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/45deac/32.png) [@mauro](https://www.ruby-forum.com/u/mauro)\
**Post date:** [November 3, 2008, 8:58am UTC](https://www.ruby-forum.com/t/ancora-sui-data-type-di-rails/152258/5 "2008-11-03T08:58:51Z")

</div>

2008/11/3 Andrea R. [removed\_email\_address@domain.invalid](mailto: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’.

---

<div class="post-metadata">

**Author:** ![mauro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/45deac/32.png) [@mauro](https://www.ruby-forum.com/u/mauro)\
**Post date:** [November 3, 2008, 12:30pm UTC](https://www.ruby-forum.com/t/ancora-sui-data-type-di-rails/152258/6 "2008-11-03T12:30:36Z")

</div>

> 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](http://mikamai.com)  
Writing [http://sensejs.wordpress.com/](http://sensejs.wordpress.com/)  
Collaborating [http://therubymine.it](http://therubymine.it)  
Reading [http://stacktrace.it](http://stacktrace.it)

---

<div class="post-metadata">

**Author:** ![mauro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/45deac/32.png) [@mauro](https://www.ruby-forum.com/u/mauro)\
**Post date:** [November 3, 2008, 12:49pm UTC](https://www.ruby-forum.com/t/ancora-sui-data-type-di-rails/152258/7 "2008-11-03T12:49:58Z")

</div>

2008/11/3 Mauro [removed\_email\_address@domain.invalid](mailto: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.

---

<div class="post-metadata">

**Author:** ![mauro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/45deac/32.png) [@mauro](https://www.ruby-forum.com/u/mauro)\
**Post date:** [November 3, 2008, 12:32pm UTC](https://www.ruby-forum.com/t/ancora-sui-data-type-di-rails/152258/8 "2008-11-03T12:32:21Z")

</div>

> 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.
