【问题标题】:ActiveAdmin form on show page without a panel没有面板的显示页面上的 ActiveAdmin 表单
【发布时间】:2014-01-16 00:33:01
【问题描述】:

我正在尝试将表单添加到资源的显示页面。表单工作得很好,但只有当我将它包装在 panel 声明中时它才会显示,这会导致面板中的面板。

知道如何在不将其包装在panel 中的情况下显示该表单吗?

这是我现在拥有的代码:

show do |ad|
    ...

    panel "Foobar" do
      semantic_form_for [:admin, resource, resource.reactions.build], builder: ActiveAdmin::FormBuilder do |f|
        f.inputs "New Reaction" do
          f.input :title
          f.input :content
        end
        f.actions
      end
    end
end

谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 activeadmin


    【解决方案1】:

    panel 的替代方法是使用div

    根本问题是混合 Arbre 和非 Arbre 组件;这些组件是panelsemantic_form_for。这种改变是有效的,因为 Arbre 块中的最后一个返回值在它是一个字符串时被包裹在一个 text_node 中。在这种情况下,表单作为字符串输出,然后作为text_node 包装在div 中,从而呈现表单。有关详细信息,请参阅 Arbre 的 Element source

    show do |ad|
      div do # <- Note the div
        semantic_form_for [:admin, resource, resource.reactions.build], builder: ActiveAdmin::FormBuilder do |f|
          f.inputs "New Reaction" do
            f.input :title
            f.input :content
          end
          f.actions
        end
      end
    end
    

    【讨论】:

    • 感谢您的解释。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    • 2020-04-26
    相关资源
    最近更新 更多