class RemindersController < ApplicationController
def create
zone = ActiveSupport::TimeZone[current_member.time_zone]
local_time = zone.parse(params.require(:reminder).fetch(:scheduled_for))
Reminder.create!(member: current_member, scheduled_for: local_time.utc)
redirect_to reminders_path
end
end
Scheduling bugs are often time zone bugs. Persist times in UTC, accept user input in their zone, and convert explicitly. Keep conversions close to the boundary (forms/controllers).