私は mongoid (3.0) と rails 3.2 を使用して、複数のアドレスを持つモデルを格納するフォームを作成しています。必要に応じてフォーム フィールドを追加するにはどうすればよいですか (モデルに追加する住所の数をユーザーに決定させたいため)。
「新しい」コントローラーでは、@person.addresses.build を使用して埋め込みドキュメントを作成します。Rails コンソールを介して複数のアドレスを追加しようとしても、すべてが期待どおりに機能します。しかし、ユーザーの要求に応じてネストされたフィールドを追加する動的フォームを作成するにはどうすればよいでしょうか?
フォーム:
<%= simple_form_for @person, :html => { :multipart => true } do |f| %>
<%= f.input_field :title %>
<%= f.fields_for :addresses do |t| %>
this is an address input:
<%= t.input :foo %>
<% end %>
<% end %>
モデル:
class Rootobject
include Mongoid::Document
field :title
embeds_many :addresses
accepts_nested_attributes_for :addresses
end
class Person < Rootobject
field :firstname
end
class Address
include Mongoid::Document
field :foo
embedded_in :rootobject, :inverse_of => :addresses
end
上記のコードは、私がやろうとしていることから単純化されています。私の住所フォームは実際には部分的です。ネストされた形式のアドレスに別の反復 (部分的) を表示させる最も簡単な方法は何ですか?
どうもありがとう。