如果我有一个标准的fields_for
方法,如:
<%= f.fields_for :exptypes do |builder| %>
<%= render 'exptype_fields', :f => builder %>
<% end %>
有没有办法得到:
<%= f.fields_for :exptypes do |builder, i| %>
<%= render 'exptype_fields', :f => builder, :i => i %>
<% end %>
所以一个唯一的数字(i
)被传递给表单?
我想做的是使唯一的div
标签在局部,所以我可以运行javascript在代码中的特定部分。
你很幸运- Rails已经自动做到了这一点。From http://guides.rubyonrails.org/layouts_and_rendering.html under 3.4.6 Local Variables
Rails还使计数器变量在局部调用中可用由集合命名,以随后的集合的成员命名_counter。例如,如果要呈现@products,在部分你可以参考product_counter告诉你有多少次局部已被渲染。这不能与as::value选项
在您的情况下,这可能是exptype_fields_counter
。