【发布时间】:2012-06-25 21:56:58
【问题描述】:
我正在使用 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
上面的代码是我想要做的简化。我的地址表格实际上是部分的。使嵌套形式的地址显示另一个迭代(部分)的最简单方法是什么?
非常感谢。
【问题讨论】:
-
浏览此railscasts.com/episodes/…此链接将帮助您满足您的要求
标签: ruby-on-rails-3 mongoid nested-forms