объединяя jquery аккордеон и рельсы вложенных форм - PullRequest
2 голосов
/ 16 июля 2010

Я хотел бы создать форму с вложенными объектными формами, такими как (в хамле):

- 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

... и я хотел бы поместить дочерние формы в аккордеон jiquery 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.

Ргдс, Дан

1 Ответ

3 голосов
/ 17 июля 2010

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

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

Что не является трагической альтернативой. На самом деле, это лучше, чем большая, всеобъемлющая форма, если я хочу разрешить ajax-публикации компонентов объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...