2

我想用这样的嵌套对象形式生成一个表单(在haml中):

- 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,丹

4

1 回答 1

3

承认失败,我决定放弃嵌套形式并保留手风琴。所以,如果有人感兴趣,现在我这样做:

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

这不是一个悲惨的选择。事实上,如果我想允许对象的组件部分的 ajax 发布,它优于大的、包罗万象的形式。

于 2010-07-16T21:07:19.870 回答