首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Rails:带索引的fields_for?

Rails:带索引的fields_for?
EN

Stack Overflow用户
提问于 2011-02-01 00:32:22
回答 5查看 53.6K关注 0票数 108

有没有一种方法(或实现类似功能的方式)来实现fields_for_with_index

示例:

代码语言:javascript
复制
<% f.fields_for_with_index :questions do |builder, index| %>  
  <%= render 'some_form', :f => builder, :i => index %>
<% end %>

要呈现的部分需要知道fields_for循环中的当前索引是什么。

EN

回答 5

Stack Overflow用户

发布于 2014-03-26 00:27:56

从Rails 4.0.2开始,FormBuilder对象中包含了一个索引:

https://api.rubyonrails.org/classes/ActionView/Helpers/FormBuilder.html#method-i-fields_for

例如:

代码语言:javascript
复制
<%= form_for @person do |person_form| %>
  ...
  <%= person_form.fields_for :projects do |project_fields| %>
    Project #<%= project_fields.index %>
  ...
  <% end %>
  ...
<% end %>
票数 110
EN

Stack Overflow用户

发布于 2011-02-01 01:12:01

查看Rendering a collection of partials。如果您的需求是模板需要迭代数组并为每个元素呈现一个子模板。

代码语言:javascript
复制
<%= f.fields_for @parent.children do |children_form| %>
  <%= render :partial => 'children', :collection => @parent.children, 
      :locals => { :f => children_form } %>
<% end %>

这将呈现“_children.erb”,并将局部变量“children”传递给模板以供显示。迭代计数器将自动提供给名称为partial_name_counter表单的模板。在上面的示例中,模板将被馈送children_counter

希望这能有所帮助。

票数 7
EN

Stack Overflow用户

发布于 2019-09-09 08:40:12

已添加到fields_for child_index: 0

代码语言:javascript
复制
<%= form_for @person do |person_form| %>
  <%= person_form.fields_for :projects, child_index: 0 do |project_fields| %>
    <%= project_fields.index %>
  <% end %>
<% end %>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4853373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档