我正在使用 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
上面的代码是我想要做的简化。我的地址表格实际上是部分的。使嵌套形式的地址显示另一个迭代(部分)的最简单方法是什么?
非常感谢。