0
class User < ActiveRecord::Base
belongs_to :person, :dependent => :destroy
accepts_nested_attributes_for :person, :allow_destroy => true
attr_accessible :person_attributes
end
class Person < ActiveRecord::Base
has_many :phone_numbers, :as => :phoneable, :dependent => :destroy
has_one :user
accepts_nested_attributes_for :phone_numbers
end
class PhoneNumber < ActiveRecord::Base
belongs_to :phoneable, :polymorphic => true
end
<%= form_for @user do |user_form| %>
<%= user_form.fields_for :person do |person_form| %>
<%= person_form.fields_for :phone_numbers do |phone_number_form| %>
<%= phone_number_form.text_field :number %>
<% end %>
<% end %>
<% end %>
這是有效的。它符合我的期望,但我希望我的表單中有多個電話號碼。我怎麼能做到這一點?一種形式的多個多態字段
user[person_attributes][phone_numbers_attributes][0][number]
爲什麼fields_for add [0]?
如果我想多個電話號碼,第二個看起來像這樣嗎?
user[person_attributes][phone_numbers_attributes][1][number]
如果是這樣,怎麼樣?
如果我可以在數據庫中獲得多個電話號碼,我的下一個問題將是如何包括其他電話號碼屬性以及每個號碼?例如:描述
user[person_attributes][phone_numbers_attributes][0][number]
user[person_attributes][phone_numbers_attributes][0][description]