Having problems with serialize :column_name

Hi guys

I have asked this questions on the Rails Forum as well, but haven't
got any reply, so I will try here.

The thing is this:

I want to store "portlets" in a Portlet model in the db. I want to
store them togheter as they are the same kind of data in a way, but
there are different variateions of a portlet. They only have one db
column in common, the rest can vary a lot. So to do this I would like
to store the rest of the data in one single column.

What I have done to do this is the following:

1. The model Portlet contains the columns id, name, portlettype_id &
hash_value. The value in portlettype_id will decide what has to be
stored in the hash_value column. Reading from the docs, I have also
put "serialize :hash_value" in the class code.

2. So in my new action in my PortletsController I just do @portlet =
Portlet.new

3. In my new.html.erb I have done the following (I'm leaving out some
formatting specific html in this example):
<% form_for @project do |f| %>
    <%= f.text_field :name %>
    <%= f.collection_select :portlettype_id, ......... %>
    <% fields_for "portlet[hash_value] do |hf| %>
        <%= hf.text_field :heading %>
        <%= hf.text_area :body %>
    <% end %>
<% end %>

4. Everything renders nice and I do get inputs with name
portlet[hash_value][heading] etc.

5. When I submit, the development log shows "hash_value" =>
{ "heading" => "text"} in the params hash, so it does seem to me that
I do get the hash_value containing a hash itself.

6. When I save, the name and portlettype_id fields get saved
correctly, but in the hash_value column i get !
map:HashWithIndifferentAccess

It seems to me that I must be doing something wrong, because when I
read about serialize in the api docs, it sounds like it would do
exactly what I'm after.

Any ideas? I would be glad to supply you with more info, as I badly
want to solve this problem.

Thanks
Kenny