2010-07-15 4 views
2

я хотел бы, чтобы создать форму с вложенными формами объектов, как это (в Haml):сочетающие JQuery аккордеон и рельсы вложенные формы

- form_for @parent do |parent_form| 
    - parent_form.fields_for :children do |child_form| 
    = child_form.label :first_name 
    = child_form.text_field :first_name 

... и я хотел бы, чтобы поместить дочерние формы в JQuery Ui (1.8.2) аккордеона, как это (я думаю):

- form_for @parent do |parent_form| 
    %div#accordion 
    - parent_form.fields_for :children do |child_form| 
     %h3 
     %a{ :href => "#" }Header 
     %div 
     -# I wish this was a content div 
     = child_form.label :first_name 
     = child_form.text_field :first_name 

Это почти работает, но fields_for вставляет скрытый вход в конце каждого ребенка «итерации». Этот вход генерируется как дочерний элемент для содержимого div, что смущает jquery ui. Кажется, аккордеон() ошибочно вводит скрытый ввод для следующего заголовка, и от этого вещи начинают перебираться.

Я был бы очень признателен, если бы кто-нибудь мог сказать мне, как положить вложенные формы в аккордеон jquery ui.

Rgds, Dan

ответ

3

Уступая поражение, я решил отказаться от вложенной формы и держать на аккордеоне. Итак, в случае, если кто-то заинтересован, теперь я делаю это:

%div.children_accordion 
    - @parent.children.each do |child| 
    %h3 
     %a{ :href => "#"}Header 
    %div 
     - form_for child do |child_form| 
     -# etc. 

Это не трагическая альтернатива. Фактически, он превосходит большую, всеобъемлющую форму, если я хочу разрешить ajax сообщения компонентов компонента.

 Смежные вопросы

  • Нет связанных вопросов^_^