0

物事がどのように機能すると想定されているかを誤解しているかもしれませんが、ここに行きます。

私は 1 つのアイテム (人) のフォームを持っており、人は複数のプロジェクトを持っています。ここで、name テキストフィールド用に生成された html に name 属性を次のように付けたいと思います: [person][0][project][name] 最初のアイテムと [person][1][project][ name] を 2 番目の項目などに使用します。そして、私は以下のコードが私にそれを与えるだろうと思った.

<%= 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 %>

ご指摘ありがとうございます。

4

1 に答える 1

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 %>
于 2013-10-10T07:57:19.917 に答える