Reputation: 461
I have the following problem:
I want to generate multiple text fields in a form, so that I have the following result in the end:
[
{foo: 0},
{foo: 1},
{foo: 10},
{foo: 11},
{foo: 100}
]
In my form I wrote the following Code:
<%= f.fields_for(:foo_associates, @bar.foo_associates) do |ff| %>
<%= ff.text_field(:maincompany_id) %>
<%= ff.text_field(:maincompany_id) %>
<%= ff.text_field(:maincompany_id) %>
<%= ff.text_field(:maincompany_id) %>
<%= ff.text_field(:maincompany_id) %>
<% end %>
So the rendered HTML should look like this:
<input name="company[foo_associates_attributes][0][foo]" />
<input name="company[foo_associates_attributes][1][foo]" />
<input name="company[foo_associates_attributes][2][foo]" />
<input name="company[foo_associates_attributes][3][foo]" />
<input name="company[foo_associates_attributes][4][foo]" />
But it looks like this:
<input name="company[foo_associates_attributes][0][foo]" />
<input name="company[foo_associates_attributes][0][foo]" />
<input name="company[foo_associates_attributes][0][foo]" />
<input name="company[foo_associates_attributes][0][foo]" />
<input name="company[foo_associates_attributes][0][foo]" />
And my result looks like this:
[
{foo: 0}
]
What am I doing wrong? All answers are appreciated.
Upvotes: 0
Views: 110
Reputation: 2895
In your controller
#new
5.times {@bar.foo_associates.build}
In form
<%= f.fields_for(:foo_associates) do |ff| %>
<%= ff.text_field(:foo) %>
<% end %>
Upvotes: 3