How to get form parameters while using fields_for with nested attributes


#1

hi all…

i am trying to use fields_for to get and save nested attributes in a
form.
i have a ‘Partner’ model associated with an ‘Address’ model.
partner has_many :addresses

although the form is displaying fine, but on submitting it the following
error is shown:

can’t convert HashWithIndifferentAccess into Array

on this line:

@partner = Partner.new(params[:partner])

the names of main ‘partner’ fields are like:

partner[par_name]

the names of ‘address’ fields are like:

partner[addresses][add_line_1]

some code:

<% form_for(@partner) do |f| %>
<%= f.error_messages %>
<%= f.label :par_name, “Partner Name” %>

<%= f.text_field :par_name %>
<% f.fields_for :addresses do |addr_fields| %>


<%= addr_fields.label :add_line_1, “Address Line 1” %>

<%= addr_fields.text_field :add_line_1 %>


<% end %>
<%= f.submit “Create” %>
<% end %>

what’s wrong over here??

regards


Sahil


#2

Take a look at the complex forms railscasts series (railscasts.com)…

Cheers, Sazima


#3

On Feb 9, 6:07 pm, Sazima removed_email_address@domain.invalid wrote:

Take a look at the complex forms railscasts series (railscasts.com)…

thanx for the link… now i am able to save an address along with a
partner. but the partner_id (foreign key for partner) inside address
table is not getting filled up. do i need to manually put the foreign
key, if so how do i do it.