Я хочу использовать ActiveAdmin :: FormBuilder, потому что мне нравится способ создания вложенных моделей (в основном - его метод has_many
, который генерирует приятные кнопки со встроенным javascript для легкого создания & уничтожить вложенные объекты).Настроить ActiveAdmin :: FormBuilder
Однако я хочу отредактировать форму самостоятельно, потому что, по-видимому, по умолчанию она занимает слишком много места.
Кто-нибудь знает, есть ли хороший способ настроить вывод дизайна формы, но сохранить эти вложенные методы для вложенных объектов?
Вот пример кода с комментариями:
<%= semantic_form_for @item, builder: ActiveAdmin::FormBuilder do |f| %>
<% f.inputs "Item Details" do %>
<% f.input :keywords %>
<% f.input :description %>
<% end %>
<% f.inputs "Features", :id => "item_features" do %>
<% f.has_many :features, :header => "" do |feature| %>
<!-- all these fields are generated in separate rows, I want to fit them all to one row - so need to add some classes-->
<% feature.input :name, :label => "Feature Name" %>
<% feature.input :value, :label => "Feature Value" %>
<% feature.input :_destroy, :as=>:boolean, :required => false, :label=>'Remove Feature' %>
<% end %>
<% end %>
<% f.inputs "Options", :id => "item_options" do %>
<% f.has_many :options, :header => "" do |option| %>
<!-- same thing here -->
<% option.input :name, :label => "Option Name" %>
<% option.input :_destroy, :as=>:boolean, :required => false, :label=>'Remove Option' %>
<% end %>
<% end %>
<% f.actions %> <!-- here I want to add some classes to each button -->
<% end %>
Я считаю, что если вы используете 'ActiveAdmin :: FormBuilder',' f.has_many' должен быть доступен для вашей формы (https://github.com/gregbell/active_admin/blob/9f6b03030667801adc58af4aba9ae56160c3b0b2/lib/active_admin/form_builder. гь # L44). Ваш код выше не работает? Если нет, то какие ошибки вы видите? –
Код выше работает. Мне просто не нравится дизайн, который он создает. До сих пор моя лучшая идея заключалась в том, чтобы скопировать модуль FormBuilder и вручную внести необходимые изменения. –
Возможно, вам нужны только правила CSS? – seanlinsley