datetime_select and time zones

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)
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 what should be obvious and built into datetime_select?