2010-02-22 5 views
0

Je me demandais s'il était possible de créer un nouveau parent, les enfants dans une relation a plusieurs, en utilisant des rails imbriqués formes.Les formes imbriquées et la création automatique de parent, enfants

La documentation de Rails indique clairement que cela fonctionne dans une relation un à un. Je ne sais pas si c'est la même chose a beaucoup de relations.

Par exemple:

Si

params = { 
    :employee => { 
    :name => "Tester", 
    :account_attributes => {:login => 'tester'} 
    } 
} 

fonctionne comme relation biunivoque. Donc Employee.new (params) fonctionne bien. Nouvel employé, le compte est créé.

Supposant que j'avais

params = { 
    :employee => { 
    :name => "Tester", 
    :account_attributes => { 
     "0" => {:login => 'tester'}, 
     "1" => {:login => 'tester2'} 
    } 
    } 
} 

Employee.new (params) ne fonctionne pas. Il échoue sur les validations d'enfants en disant parent ne peut pas être vide.

Toute aide est appréciée. Merci

Karen

Répondre

2

Le child_attributes = écrivain qui vient avec accepts_nested_attributes_for attend un tableau en ce qui concerne l'un à de nombreuses relations.

Cela va créer deux comptes pour le nouvel employé

params = { 
    :employee => { 
    :name => "Tester", 
    :account_attributes => [ 
    {:login => 'tester'}, 
    {:login => 'tester2'} 
    ] 
    } 
} 
Questions connexes