time_zone_select Doesn't Update in Save

I am using time_zone_select for the first time:

<%= form.time_zone_select('default_timezone') %>

I have an instance variable called user and that model has an attribute called 'default_timezone'. This is all inside a nice form_form construct.

The list of time zones displays and when I submit the form, I see it sends the data:

Parameters: {"user"=>{"auto_update_map"=>"1", "default_timezone"=>"London"}, "device"=>{"81"=>{"nickname"=>"BonzoHunter"}}, "Submit"=>"Save Changes", "action"=>"update_prefs", "controller"=>"user"}

But, the UPDATE sets default_timezone to NULL:

UPDATE user_accounts SET "default_timezone" = NULL, "auto_update_map" = 1 WHERE id = 27

Huh? The other attribute I set, 'auto_update_map', works like a charm and I can see that the parameter was sent.

Simple code:

@user.default_timezone = params[:user][:default_timezone] @user.auto_update_map = params[:user][:auto_update_map] @user.save!

So, what I am doing wrong here? The column in the database is a simple varchar(255).

Thanks, H