Вложенный ввод исчезает при обновлении до activeadmin 1.0

У меня есть форма, которая при максимальном упрощении выглядит следующим образом.

ActiveAdmin.register Foo do
  form do |f1|
    f1.inputs 'DeepFoos' do
      f1.has_many :deep_foos do |f2|
        f2.input :name

        f2.inputs "DeeperFoos for #{f2.object.name}" do
          f2.has_many :deeper_foos do |f3|
            f3.input :color
          end
        end
      end
    end
  end
end

Когда я использовал active admin 0.6.6, это отрендерено, с двойным вложенным ресурсом. После обновления до 1.0.0.pre5, DeeperFoos входная часть формы исчезла. Там нет исключений, и это не в HTML-коде страницы. Это просто прошло.

Странно, если я уберу строку с надписью f2.input :name, DeeperFoos вход снова отображается.

Я попытался вставить в него отладчик, и отладчик попал в него, но само сокровище настолько косвенно и метапрограммировано, что я не знаю, как я мог получить от него понимание.

Я не могу найти ничего релевантного в документах по обновлению active admin или в документах по обновлению формы (которые, как зависимость, были обновлены с 2.2.1 в 3.1.5).

1 ответ

Вероятно, это связано с переписыванием для интеграции Arbre в формы. Вы можете открыть проблему с формами, но на данный момент я отказался от патчей между Arbre, Formtasic и ActionView: как вы обнаружили, это уродливо, поскольку они не всегда используют одни и те же выходные буферы. ASFAIK относительно немногие пытаются использовать вложенные has_many. Можете ли вы переместить вход ниже ввода? Удалить пустую строку? Это может быть просто случай повозиться и пойти на лучший компромисс.

Другие вопросы по тегам