我可能误解了事情是如何起作用的,但现在可以了。
我有一个项目(一个人)的表格,一个人有几个项目。现在我想生成的名称textfield的html将具有这样的名称属性:第一项的[person] [0] [project] [name]和[person] [1] [project] [名称]为第二项,依此类推。而且我认为下面的代码会给我这个,但它只会产生[person] [project] [name]这是一个问题,因为无论何时提交这个表单,实际上只会发布一个文本字段。< / p>
<%= form_for @person do |person_form| %>
...
<% @person.projects.each do |project| %>
<% if project.active? %>
<%= person_form.fields_for :projects, project do |project_fields| %>
Name: <%= project_fields.text_field :name %>
<% end %>
<% end %>
<% end %>
...
<% end %>
提前感谢任何指示。
答案 0 :(得分:0)
我希望以下解决方案能为您提供帮助。
<%= form_for @person do |person_form| %>
i = 0
<% @person.projects.each do |project| %>
<% if project.active? %>
<%= person_form.fields_for :projects, project do |project_fields| %>
Name: <%= project_fields.text_field :name, name: "person[#{i}][project][name]" %>
<% end %>
<% i += 1 %>
<% end %>
<% end %>
...
<% end %>