Мне тяжело с ActiveAdmin и их DSL. Я использую его для построения моего администратора, и в какой-то момент в форме мне нужно иметь text_field_tag
; Я имею в виду некоторые поля, которые не связаны с моделью, которой я манипулирую, в форме, которая будет отправлена с данными, связанными с моделью.
Пользовательское текстовое поле в основном. Ничего слишком сумасшедшего.
Итак, я построил это
panel 'Send payment authorization' do
active_admin_form_for EventPaymentAuthorization.new, url: { action: :send_event_payment_authorization } do |f|
f.inputs do
f.input :body, as: :text
f.text_field_tag :line_items_label
f.text_field_tag :line_items_amount
f.input :fees_in_cents, as: :select, collection: [:free, :automatic], prompt: true, selected: :automatic
end
f.actions do
f.action :submit, label: 'Create payment authorization'
end
end
end
ActiveAdmin просто игнорирует f.text_field_tag
. Это почему? Это не вызывает никакой ошибки, но это также не показывает.
Причина, по которой мне нужны пользовательские несвязанные входные данные, заключается в том, что line_items
в моем примере - это JSONB со значениями, такими как [{amount: 0.0, label: 'Hello'}]
, и я не верю, что его можно обрабатывать с помощью Formtastic или ActiveAdmin. Также всегда хорошо иметь возможность создавать пользовательские входы при отправке данных.