2012-05-30 49 views

回答

2

可以把它作为散列值的阵列,如

Model.new(:nested_model_attributes=>{[0]=>{:param=>value},[1]=>{:param=>value}) 
1

下面是另一个例子。 如果我有许多兄弟姐妹的入场模式,我有单一的形式,我正在采取关于超过1兄弟姐妹的细节。 然后在控制器中,我需要编写下面的代码。

def new 
    @admission = Admission.new() 
    3.times { @admission.siblings.build } 
end 

以下是您的页面代码。

<%= form_for(@admission) do |f| %> 
# fields of admission form 
    <%= f.fields_for :siblings do |builder| %> 
    # fields for siblings form 
    <% end %> 
<%= f.submit %> 

下面将是你的模型代码。

class Admission < ActiveRecord::Base 
    has_many :siblings, :dependent => :destroy 
    accepts_nested_attributes_for :siblings 
end 
+0

如果我想用javascript创建任意数量的新对象,该怎么办? – Anton

+1

检查http://railscasts.com/episodes/196-nested-model-form-part-1 – chaitanya

+0

谢谢。第2部分需要代码。 http://railscasts.com/episodes/197-nested-model-form-part-2 – Anton

相关问题