没有面板的显示页面上的 ActiveAdmin 表单

Yuv*_*rmi 3 ruby-on-rails activeadmin ruby-on-rails-4

我正在尝试将表单添加到资源的显示页面。该表单工作得很好,但只有当我将其包装在声明中时它才会显示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
Run Code Online (Sandbox Code Playgroud)

谢谢!

Cha*_*esh 5

的替代方案panel是使用div.

根本问题是混合 Arbre 和非 Arbre 组件;这里这些组件是panelsemantic_form_for。此更改之所以有效,是因为 Arbre 块中的最后一个返回值在text_node它是字符串时被包装在 a 中。在本例中,表单作为字符串输出,然后包装为text_node内的 a div,从而呈现表单。有关更多信息,请参阅 Arbre 的Element来源。

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
Run Code Online (Sandbox Code Playgroud)