# Selezione date con calendar\_date\_select

**URL:** <https://www.ruby-forum.com/t/selezione-date-con-calendar-date-select/130620>\
**Category:** IT\
**Created:** [February 29, 2008, 10:17pm UTC](https://www.ruby-forum.com/t/selezione-date-con-calendar-date-select/130620 "2008-02-29T22:17:46Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![gianluca\_t](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/d78d45/32.png) [@gianluca\_t](https://www.ruby-forum.com/u/gianluca_t)\
**Post date:** [February 29, 2008, 10:17pm UTC](https://www.ruby-forum.com/t/selezione-date-con-calendar-date-select/130620/1 "2008-02-29T22:17:46Z")

</div>

Ciao a tutti,

finora ho scritto tutte le mie applicazioni RoR con l’helper standard  
date\_select per l’input delle date.

Mi stavo accingendo a provare ad utilizzare qualche sistema di selezione  
date un po’ più evoluto.

Ne ho provati alcuni ma sto incontrando parecchie difficoltà…

In particolare stavo provando ad adottare calendar\_date\_select che tutto  
sommato mi sembra piuttosto potente e a dirla tutta funziona molto bene  
sempre che si utilizzi le impostazioni standard (lingua inglese).

Ho provato ad impostare il formato euro\_24hr e il locale it:

app/controllers/application.rb  
\<%= calendar\_date\_select\_includes :locale =\> “it”, :format =\>  
“euro\_24hr” %\>

inserito il nuovo file  
public/javascripts/calendar\_date\_select/locale/it.sj contenente le  
traduzioni:

Date.weekdays = $w(“Lu Ma Me Gi Ve Sa Do”);  
Date.months = $w(“Gennaio Febbraio Marzo Aprile Maggio Giugno Luglio  
Agosto Settembre Ottobre Novembre Dicembre” );  
Date.first\_day\_of\_week = 1  
\_translations = {  
“OK”: “OK”,  
“Now”: “Ora”,  
“Today”: “Oggi”  
}

e ho utilizzato l’helper nella mia form:

\<%= f.calendar\_date\_select :published\_from, :embedded =\> true %\>

Il problema è che il controllo mi memorizza il valore in formato  
italiano anzichè memorizzarlo in formato inglese e activerecord si  
incazza.

Qualcuno sa se è possibile impostare calendar\_date\_select in modo che  
visualizzi lingue diverse dall’inglese ma memorizzi in inglese ?

(la mia applicazione è multilingua con 10 lingue tra cui  
cinese/giapponese/russo) vorrei evitare di prelevare il valore scritto  
dal controllo e analizzare il nome del mese ritrasformandolo in  
inglese…)

Grazie in anticipo…

---

<div class="post-metadata">

**Author:** ![gianluca\_t](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/d78d45/32.png) [@gianluca\_t](https://www.ruby-forum.com/u/gianluca_t)\
**Post date:** [February 29, 2008, 11:35pm UTC](https://www.ruby-forum.com/t/selezione-date-con-calendar-date-select/130620/2 "2008-02-29T23:35:23Z")

</div>

Gianluca T. wrote:

> Il problema ï¿½ che il controllo mi memorizza il valore in formato  
> italiano anzichï¿½ memorizzarlo in formato inglese e activerecord si  
> incazza.
> 
> Qualcuno sa se ï¿½ possibile impostare calendar\_date\_select in modo che  
> visualizzi lingue diverse dall’inglese ma memorizzi in inglese ?
> 
> (la mia applicazione ï¿½ multilingua con 10 lingue tra cui  
> cinese/giapponese/russo) vorrei evitare di prelevare il valore scritto  
> dal controllo e analizzare il nome del mese ritrasformandolo in  
> inglese…)
> 
> Grazie in anticipo…

“hai ciÃ² che vedi” alias se vuoi vedere il valore nel campo input nel  
modo giorno/mese/anno nella post ti arriva cosÃ¬, a meno che via  
javascript non cambi a manone il valore prima della post.  
La cosa migliore che puoi fare Ã¨ usare la controller/il model per  
sistemare il tutto ( ti fai un metodo che vede il local settato e  
reimposta la data) oppure usi la data in formato 12 gennaio 2007 a quel  
punto puoi passare la data a un oggetto di tipo date e sei a posto.

---

<div class="post-metadata">

**Author:** ![gianluca\_t](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/d78d45/32.png) [@gianluca\_t](https://www.ruby-forum.com/u/gianluca_t)\
**Post date:** [March 1, 2008, 12:42am UTC](https://www.ruby-forum.com/t/selezione-date-con-calendar-date-select/130620/3 "2008-03-01T00:42:25Z")

</div>

Alessandro S. ha scritto:

> > (la mia applicazione ï¿½ multilingua con 10 lingue tra cui  
> > javascript non cambi a manone il valore prima della post.  
> > La cosa migliore che puoi fare Ã¨ usare la controller/il model per  
> > sistemare il tutto ( ti fai un metodo che vede il local settato e  
> > reimposta la data) oppure usi la data in formato 12 gennaio 2007 a quel  
> > punto puoi passare la data a un oggetto di tipo date e sei a posto.

Grazie Alessandro per avermi risposto a questa ora, sono qui che sto  
indagando tra i sorgenti ma non ne vado fuori…

Non ho capito bene: “oppure usi la data in formato 12 gennaio 2007 a  
quel punto puoi passare la data a un oggetto di tipo date e sei a  
posto”.

Se imposto la data in quel formato al salvataggio del record mi va in  
errore…
