Я пытаюсь создать пользовательскую вложенную форму в RailsAdmin для одной из моих моделей, чтобы добавить больше функций, чем позволяет встроенный виджет.
У меня есть проект, который имеет_много технических спецификаций. В моем инициализаторе rails_admin.rb у меня есть следующее
config.model Project do
edit do
configure :tech_specs do
partial 'tech_specs_field'
end
end
end
В _tech_specs_field.html.haml (лично мне удобнее использовать erb, но я получаю очень странные ошибки «нет метода safe_concat для nil: NilClass», если я не использую haml) у меня есть
= form.fields_for(field.name) do |nested_form|
= render :partial => 'spec', :locals => {:nested_form => nested_form}
- add = "<i class='icon-plus icon-white'></i> New Tech Spec".html_safe
= form.link_to_add add, field.name, { :class => 'btn btn-info' }
На самом деле я вижу план новых технических спецификаций, сгенерированный на странице в скрытом div внизу, но нажатие кнопки New Tech Spec ничего не делает. Внутри _spec.html.haml есть просто набор text_fields и hidden_fields плюс ссылка на удаление (которая действительно работает).
Мне интересно две вещи:
1) Как я могу отследить, что должно происходить в JS, и исправить его или мою часть для работы с вложенными формами RailsAdmin из гема bbenezech-nested_form (от которого зависит RailsAdmin)
2) Любые идеи относительно того, почему мой частичный должен быть в haml, кроме того, что использует RailsAdmin, и каким-то образом он несовместим с массивной цепочкой, генерирующей форму администратора?