Multiple Models, one form, has_many AND has_one not workink

I have a model (Employee) which has a has_many association with (FlatMate). A flat mate also has a has_one association (PrimaryAddress). Now when I try to create a form and then submit it I receive the 500 expected hash error.

Can anyone help me out?

Here's my view:

<% form_for [:admin, @employee] do |f| %>

  <%= render :partial => 'essential_details', :locals => { :f => f } %>   <%= render :partial => 'next_of_kin', :locals => { :kin => @employee.kin } %>

  <%=   #render :partial => 'flat_mate', :collection => @employee.flat_mates   %>

  <% @employee.flat_mates.each_with_index do |flat_mate, index| %>     <fieldset>     <h3>Contact #</h3>     <% fields_for "employee[flat_mate_attributes][#{index}]", flat_mate do |fm_form| %>       <p><label>full name: </label>       <%= fm_form.text_field :first_name, :size => 25, :index => nil %>       <%= fm_form.text_field :initial, :size => 2, :index => nil %>       <%= fm_form.text_field :surname, :size => 25, :index => nil %>

      <%= do_error flat_mate, :first_name %> <%= do_error flat_mate, :surname %></p>

      <p><label>relationship:</label>       <%= fm_form.select :relationship, ['Partner', 'Friend', 'Flatmate'], :prompt => true, :index => nil %></p>

      <% fields_for "employee[flat_mate_attributes][#{index}][primary_address_attributes]", flat_mate.primary_address do |address_form| %>         <%= address_form.hidden_field :address_type, :value => 'Main' %>

        <p><label>street:</label>         <%= address_form.text_field :street %></p>

        <p><label>city/town:</label>         <%= address_form.text_field :city %></p>

        <p><label>zip/post code:</label>         <%= address_form.text_field :post_code %></p>

        <p><label>state/county:</label>         <%= address_form.text_field :county %></p>

        <p><label>country:</label>         <%= address_form.country_select :country, ['United Kingdom', 'Northern Ireland', 'Ireland', 'United States'] %></p>       <% end %>     <% end %>

    <h4>Phone</h4>     <p><%= render :partial => 'admin/shared/primary_telephone_number', :locals => { :telephone => flat_mate.primary_telephone_number } %></p>

    <% unless flat_mate.new_record? %>       <%= fm_form.hidden_field :id, :index => nil %>       <%= fm_form.hidden_field :should_destroy, :index => nil, :class => 'should_destroy' %>     <% end %>   <% end %>

  <%= render :partial => 'user_details', :locals => { :user => @employee.user } %>

  <%= submit_tag 'create' %> <% end %>