Используйте activeadmin_dynamic_fields для управления несколькими входами - PullRequest
0 голосов
/ 05 мая 2020

Я работаю с ActiveAdmin в приложении Rails. По общему признанию, я новичок в Ruby и Active Admin. Я привык к развитию JavaScript. Я не мог найти способ включить или отключить поля на основе значения другого поля. В конце концов, я нашел и установил гем activeadmin_dynamic_fields, чтобы разрешить это. Мне удалось использовать один флажок, чтобы скрыть или показать другое поле, например:

      f.input :is_promo, label: 'Is this a promotion?', as: :boolean,
              input_html: {
                data: { if: 'not_checked', action: 'hide', target: '.disclaimer'}
              }

Проблема возникает, если я пытаюсь контролировать более одного поля с одним и тем же флажком. Я пробовал:

      f.input :is_promo, label: 'Is this a promotion?', as: :boolean,
              input_html: {
                data: {
                  { if: 'not_checked', action: 'hide', target: '.disclaimer'},
                  { if: 'not_checked', action: 'hide', target: '.terms-required'},
                  { if: 'checked', action: 'hide', target: '.terms-not-required'}
                }
            }

, а также:

      f.input :is_promo, label: 'Is this a promotion?', as: :boolean,
              input_html: {[
                  data: {{ if: 'not_checked', action: 'hide', target: '.disclaimer'}},
                  data:{{ if: 'not_checked', action: 'hide', target: '.terms-required'}},
                  data: {{ if: 'checked', action: 'hide', target: '.terms-not-required'}}
              ]}
            }

Однако, похоже, ничего не работает. Если я не могу заставить это работать с activeadmin_dynamic_fields, я хотел бы попытаться заставить его работать с обычным ActiveAdmin. Мы будем благодарны за любые предложения.

1 Ответ

0 голосов
/ 07 мая 2020

Похоже, что не может быть решения с ограничениями этого драгоценного камня. В итоге я просто использовал jQuery.

...