david
david

Reputation: 305

Rails datetime_select with time zone

I am writing a simple calendar app and having troubles with time zones. For as many nice Date and Time helpers, action view and active record sure don't play nice with time zones.

I have an appointment model with the appointment_time attribute which is a datetime.

My current issue is editing appointment_time with datetime_select within a form tag.

<%= datetime_select :appointment_time, @appt.appt_time,ampm: true %>

def appt_time
  appointment_time.in_time_zone(time_zone) #this is the appointment owners time zone
end

gives a select with the current date and time in UTC, not the appointment date and time. appt_time does get called and returns the correct date and time adjusted for the time zone.

The docs mention nothing about time zones, what is the best way to accomplish it?

Upvotes: 1

Views: 2264

Answers (1)

joem
joem

Reputation: 331

It looks like the problem is with your select tag, not the time zone offset. Looks like you want

<%= datetime_select "appointment", "appointment_time", default: @appt.appt_time, ampm: true %>                                                                                                         

Upvotes: 1

Related Questions