Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails: fields_for with index?

Is there a method (or way to pull off similar functionality) to do a fields_for_with_index?

Example:

<% f.fields_for_with_index :questions do |builder, index| %>     <%= render 'some_form', :f => builder, :i => index %> <% end %> 

That partial being rendered needs to know what the current index is in the fields_for loop.

like image 615
Shpigford Avatar asked Jan 31 '11 16:01

Shpigford


1 Answers

The answer is quite simple as the solution is provided within Rails. You can use f.options params. So, inside your rendered _some_form.html.erb,

Index can be accessed by:

<%= f.options[:child_index] %> 

You don't need to do anything else.


Update: It seems that my answer wasn't clear enough...

Original HTML File:

<!-- Main ERB File --> <% f.fields_for :questions do |builder| %>     <%= render 'some_form', :f => builder %> <% end %> 

Rendered Sub-Form:

<!-- _some_form.html.erb --> <%= f.options[:child_index] %> 
like image 139
Sheharyar Avatar answered Sep 18 '22 12:09

Sheharyar