Here is the case scenario:
I want to give my user the option of defining their time zone. Since this feature is optional, a user might or might not have already selected a time zone.
By default, the time_zone_select helper gets the object's time zone and selects it. While that works in most cases, if you have a new object or an object without time zone then you can't have anything pre selected.
A workaround would be to directly use
time_zone_options_for_select
but I think we can do better/cleaner.
This patch adds an optional :default option.
time_zone_select( "user", 'time_zone', TimeZone.us_zones, :default => "Pacific Time (US & Canada)")
If the user's time_zone value isn't set, the select box will select the default value.
(tests and docs in patch)