【问题标题】:text_field_tag with ActiveAdmin带有 ActiveAdmin 的 text_field_tag
【发布时间】:2019-06-26 18:10:07
【问题描述】:

我很难使用 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 是一个 JSONB,其值例如为[{amount: 0.0, label: 'Hello'}],我不相信它可以通过 Formtastic 或 ActiveAdmin 本地处理。在发送数据时能够创建自定义输入也总是很好。

【问题讨论】:

  • 改用f.text_field
  • f.text_field 用于模型支持的字段

标签: ruby-on-rails activeadmin formtastic


【解决方案1】:

在 ActiveAdmin 中使用 JSON 有点棘手,这在很大程度上取决于您的需求。最快的方法是使用activeadmin_json_editor gem。我还在working with JSON in ActiveAdmin 上写了一篇博客文章,其中包含更多细节和另一种方法,这可能更适合您的需求,因为您似乎不仅仅是在 JSON 字段中处理任意数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    相关资源
    最近更新 更多