Sto lavorando con un'app per un sito web di concerti, dove tutte le volte (orari degli annunci, orari di inizio della vendita e orari di inizio degli eventi) sono locali per l'ora di ogni particolare zona. Prendo la data/ora immessa dall'utente dove applicabile ed eseguo un before_filter per impostare il fuso orario appropriato in modo che tutto sia archiviato nel database in UTC. Per la "nuova" forma e per visualizzare i tempi in indice e mostrare azioni, nessun problema. Quando i dati vengono portati fuori dal database e in una vista, io uso in_time_zone per adattarmi al particolare luogo.Rails - Selezione data e ora in un fuso orario specificato
L'unico problema riguarda il modulo di modifica. La selezione di data/ora mostra i dati in UTC. Quando lavoro sul sito, mi adeguo mentalmente, ma per gli altri è confuso. Mi piacerebbe fare qualcosa sulla falsariga di:
<%= f.datetime_select :start_datetime.in_time_zone(@event.time_zone) %>
Oppure, nel controller:
def edit
@performance = Performance.find(params[:id])
@event = @performance.event
@performance.start_datetime = @performance.start_datetime.in_time_zone(@event.time_zone)
end
Poi semplicemente, <%= f.datetime_select :start_datetime %>
.
Purtroppo, non ho trovato il modo giusto per farlo. Hai qualche idea per cui valga la pena dare un colpo?
Grazie mille.