如何以嵌套的形式获取子项的索引

时间:2013-09-06 02:41:06

标签: ruby-on-rails simple-form nested-attributes

在Rails 3.2应用程序中,我使用Simple Form来创建复杂的表单。

表单/模型accepts_nested_attributes_for,我需要获取子对象的索引。

模特:

class Project
  has_many :tasks
  accepts_nested_attributes_for :tasks
end

class Task
  belongs_to :project
end

表格

<%= simple_form_for @project do |f| %>
  <%= f.simple_fields_for :tasks do |builder| %>
    ## I need to get the index of each object built via builder
  <% end %>
<% end %>

如何正确获取索引?

2 个答案:

答案 0 :(得分:7)

您可以使用:

<%= simple_form_for @project do |f| %>
    <%= f.simple_fields_for :tasks do |builder| %>
        <%= builder.index %>
    <% end %>
<% end %>

答案 1 :(得分:-1)

似乎无法通过fields_for直接进行此操作。相反,以下方法有效。

<%= simple_form_for @project do |f| %>
  <% @project.tasks.each.with_index do |task, index| %>
    <%= f.simple_fields_for :tasks, task do |builder| %>

      <%= index %>  #get the index here!!

    <% end %>
  <% end %>
<% end %>