我在使用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
f.text_field_tag
会被ActiveAdmin忽略。这是为什么?它不会引发任何错误,但也不会显示任何错误。
我需要自定义不相关输入的原因是,在我的示例中,line_items
是具有诸如[{amount: 0.0, label: 'Hello'}]
之类的值的JSONB,我不认为它可以通过Formtastic或ActiveAdmin本身进行处理。发送数据时能够创建自定义输入也总是很好。
答案 0 :(得分:0)
在ActiveAdmin中使用JSON有点棘手,这很大程度上取决于您的需求。最快的方法是使用activeadmin_json_editor gem。我还在working with JSON in ActiveAdmin上写了一个博客条目,其中包含更多详细信息和另一种方法,它可能更适合您的需求,因为它似乎不只是在JSON字段中使用任意数据。