Как добавить пользовательский HTML или кнопки в форму ActiveAdmin

У меня есть модели A и B. A has_many B. В режиме редактирования для A я показываю все его дочерние элементы B, используя

f.inputs  :for => :bs do |b|...

Что я хочу сделать, так это добавить ссылку или кнопку «удалить» после каждого B дочернего элемента A. В конце списка B я хотел бы добавить кнопку «Добавить B», которая создаст новый экземпляр B и свяжет это с текущим A. Таким образом, я могу избежать дополнительного представления редактирования для B (B - очень простая модель).


person Tylerc230    schedule 31.12.2011    source источник


Ответы (1)


Я понял. Мне пришлось создать часть пользовательской формы. Вы делаете это, создавая файл с именем «app/views/admin/_as.html.erb». Здесь вы можете создать свою форму, как в обычном представлении, начиная с:

<%= semantic_form_for [:admin, @a] do |f| %>
...
<%= link_to 'Delete', admin_b_path, :id => b.object.id, :action => :destroy %>

Затем в 'app/admin/as.rb' вам просто нужно добавить строку:

form :partial => "a"

В этом надуманном примере «a» — это мой класс A, поэтому замените его там, где это необходимо.

person Tylerc230    schedule 05.01.2012
comment
Консенсус здесь: ActiveAdmin действительно великолепен… поначалу. Я уже говорил это по аналогичному вопросу, но кажется совершенно обратным то, что вам нужно переписать свои формы вне ActiveAdmin DSL, если вам нужна одна строка пользовательской разметки… - person ; 14.07.2014