Help with multiple lists

I have a problem I can't seem to find an answer to. I have the following relations

(contact) 1 == *(Phone) *== (Phone Type). (contact) 1 == 1 (Address)

I will be constructing an AJAX interface that allows user to add multiple rows to the contact. As such, I want to make it possible to get them from the request. I have the following for contact and address, which works

@company_contact = CompanyContact.new(params[:company_contact]) @address = Address.new(params[:address]) @company = Company.find(params[:company])

@company_contact.company = @company @company_contact = @address

#TODO phones.

How do I get the phones to work? I've tried the following.

  @phones = Phone.new(params[:phones])

but it doesn't return anything, just nill. My embedded form looks like this.

<h2>Phones</h2> <table> <% for phone in @phones do%> <tr><td>Number:</td><td> <%= text_field("phone" , "number") %></td> <td><%= get_phone_types %></td></tr> <% end %> <table>

and my call to the template looks like this

<%= render (:partial => "shared/formphone", :object => @phones = @company_contact.phone()) %>

When I look at the HTML it just generates the following

<tr><td>Number:</td><td> <input id="phone_number" name="phone[number]" size="30" type="text" /></td> <td><select id="phone_phone_type_id" name="phone[phone_type_id]"><option value="3">business</option>

<option value="4">fax</option> <option value="2">home</option> <option value="1">mobile</option></select></td></tr>

<tr><td>Number:</td><td> <input id="phone_number" name="phone[number]" size="30" type="text" /></td> <td><select id="phone_phone_type_id" name="phone[phone_type_id]"><option value="3">business</option> <option value="4">fax</option> <option value="2">home</option> <option value="1">mobile</option></select></td></tr>

<tr><td>Number:</td><td> <input id="phone_number" name="phone[number]" size="30" type="text" /></td> <td><select id="phone_phone_type_id" name="phone[phone_type_id]"><option value="3">business</option> <option value="4">fax</option> <option value="2">home</option> <option value="1">mobile</option></select></td></tr>

<tr><td>Number:</td><td> <input id="phone_number" name="phone[number]" size="30" type="text" /></td> <td><select id="phone_phone_type_id" name="phone[phone_type_id]"><option value="3">business</option>

<option value="4">fax</option> <option value="2">home</option> <option value="1">mobile</option></select></td></tr>

As you can see, all the input fields are the same. Is there a way I can make them unique, as well as easily get them from the request? Any help would be greatly appreciated!

thanks, Todd