Вложенный ввод исчезает при обновлении до 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. Можете ли вы переместить вход ниже ввода? Удалить пустую строку? Это может быть просто случай повозиться и пойти на лучший компромисс.