2010-07-15 67 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用戶界面(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。看起來accordion()錯誤地爲下一個標題隱藏了輸入,事情從那裏混亂了。

如果有人能告訴我如何將嵌套表單放入jQuery UI手風琴中,我會非常感激。

RGDS,丹

回答

3

承認失敗,我已經決定放棄嵌套形式,並保持手風琴。所以,如果有人有興趣,現在我這樣做:

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

這不是一個悲慘的選擇。事實上,如果我想允許對象組件的ajax帖子,它要優於大的,全包的形式。