updating join table (HMT) with checkbox and extra fields

Hi,
I've been breaking my head over this thing with no success. Here is my
table layout -

class User < AR
has_many :memberships
has_many :groups, :through => :memberships
...

class Group < AR
has_many :memberships
has_many :users, :through => :memberships
...

class Membership < AR
  belongs_to :user, :class_name => "User", :foreign_key => "user_id"
  belongs_to :group, :class_name => "Group", :foreign_key =>
"Group_id"
...

Now, Membership table has an extra field called membership_id and I
want the user to fill in that id in the edit form.

My view looks like this. The checkbox fields works great and I can
update my db pretty well (barring minor issues).

<% form_for :user, @user, :url => { :action => 'save_memberships'} do |
form> %>
  <%= form.error_messages %>
      <% @groups.each do |g| %>
        <%= check_box_tag("user[membership_ids][]", g.id,
@user.groups.include?(g)) %>
        <%= "#{g.name}"%><br>
----> I have to invoke my partial to collect membership id here. But
can't get the call right. The partial is below.
      <% end%>
<% end%>

This is the membership partial -
<div class="membership">
  <% fields_for "user[membership_ids][]", membership do |f| %>
    Membership id: <%= f.text_field :membership_id %>
  <% end %>
</div>

Any ideas how I can do this?

thanks