2013-10-09 83 views
0

我可能誤解了事情是如何工作的,但在這裏。爲一個關係中的每個項目自動創建唯一標識

我有一個表格(一個人),一個人有幾個項目。現在我希望爲名稱textfield生成的html具有名稱屬性,如下所示:[person] [0] [project] [name]爲第一項和[person] [1] [project] [名稱]爲第二個項目等等。我認爲下面的代碼會給我,但它只會產生[人名] [項目] [名稱]這是一個問題,因爲無論何時提交此表單,只有一個文本字段實際上會被髮布。

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

我希望以下解決方案能幫助你。

<%= 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 %> 
相關問題