has_manyアドレスのPersonモデルがあるとします。コントローラの中で私が行うのは3.times{@person.addresses.build}なので、次のコードはaddressのtext_fieldsを3セット生成するべきですか?何らかの理由で、私はコントローラに何個のアドレスを構築しても、1つのアドレス形式しか得られません。私は3.0リソースごとにfields_forフォームを作成しますか?
<%= form_for @person do |person_form| %>
<%= person_form.fields_for :addresses do |address_fields| %>
Street : <%= address_fields.text_field :street %>
<% end %>
<% end %>
Personモデルに 'accepts_nested_attributes_for:addresses'がありますか? – maprihoda
答えは「はい」です。人が持っている各アドレスに対して1つのperson_formが作成されます(永続化されているかどうか)。デバッグ(@ person.addresses)を試して、レンダリングページにヒットしたときに配列に3つのエントリがあることを確認してください。 –
私の見解では、私の見解では<%= @ person.addresses.inspect%>と表示しましたが、実際には3つのアドレスが表示されます。何らかの理由でfields_forは私が構築したものを気にしません。私は何もビルドすることはできず、それでも1をレンダリングします。 – stackOverlord