Mam trzy modele przedstawione w formie wielomodowej.Rails 3 Multi Model Form z wieloma nowymi przykładami submodelu
class Parent < ActiveRecord::Base
has_many :children
accepts_nested_attributes_for :children
end
class Child < ActiveRecord::Base
belongs_to :parent
has_many :other_children
accepts_nested_attributes_for :other_children
end
class OtherChild < ActiveRecord::Base
belongs_to :child
end
= form_for @parent do |f|
# fields for parent
= f.fields_for :children, @parent.children do |cf|
= cf.fields_for :other_children, @parent.children do |ocf|
# fields_for other child
= cf.fields_for :other_children, @parent.children.new do |ocf|
# fields_for other child
Działa to z wyjątkiem sytuacji, gdy duplikuję drugi zestaw pól potomnych za pomocą jquery. Aby było bardziej zrozumiałe, field_for z nowym modelem other_child ma przycisk create, który uruchamia niektóre jquery, takie jak $(new_child_form).clone().insertBefore($(new_child_form))
, pozwalając na dodanie więcej niż jednego modelu podrzędnego w tym samym formularzu. Wiem, że mogę przesłać każdy formularz dziecka indywidualnie za pośrednictwem ajax, ale to nie jest to, co chcę.
Szyny jest coraz więcej niż jeden parent[children_attributes][0][other_children_attributes][1]
i tylko wydaje się używać ostatniego. Jakieś pomysły?