Time_zone y datetime_select

Hola a todos,
una de las novedades de Rails 2.2 es el soporte de las zonas horarias.
En mi aplicación cada usuario que se da de alta puede elegir su zona
horaria, por defecto es ‘Madrid’. El problema que me encuentro, es que
tengo varios formularios con datetime_selects y por defecto la fecha y
la hora con que se inicializan son los del servidor. Por lo tanto una
persona de España no ve el problema, pero sí uno de EEUU p.e

¿Alguien sabe como puedo solucionar esto?

Muchas gracias por anticipado!

On Jun 28, 2008, at 3:30 PM, Mario S. wrote:

¿Alguien sabe como puedo solucionar esto?

Una posible opción seria volcar en una tabla de tu base de datos los
TimeZones para que los puedas controlar tu. Eso es útil por ejemplo
para poner arriba de todo en la lista los TimeZones que tu consideres
“especiales”. No se si eso ayuda.

Hola Francesc,
exactamente lo que tengo es en ApplicationController:

before_filter :set_user_time_zone

def set_user_time_zone
Time.zone = current_user.time_zone if logged_in?
end

Lo que pretendo es que si es un formulario tengo:

<%= f.datetime_select :created_at, :order => [:day, :month, :year] %>

Para un usuario que tengo como time_zone = “Madrid” que se inicialize
con la hora de Madrid UTC +1 y si es un usuario de Alaska con UTC -9.

On Jun 28, 2008, at 9:06 PM, Mario S. wrote:

Para un usuario que tengo como time_zone = “Madrid” que se inicialize
con la hora de Madrid UTC +1 y si es un usuario de Alaska con UTC -9.

Si tienes un controlador posts …

 def new
   @post = Post.new
   @post.created_at = Time.zone.now
 end

And that’s all … madre mia, pero como me gusta Rails. :wink:

Uppps, que vergüenza!!!
y yo pensando que tenía que ser algo más complicado y no pensé en la
filosofía de Rails.

Un punto - para mí…muchas gracias Francesc!!