在 ActiveAdmin 索引页底部插入自定义元素

Insert custom element at the bottom of an ActiveAdmin index page

我想在 ActiveAdmin 索引页的底部插入自定义元素。例如,有一个 Campaign 模型,在 ActiveAdmin 活动索引页面中,我希望默认索引 table 后跟我的自定义元素(名为 campaigns_custom_element 的部分)。 我尝试使用以下代码:

index do
    selectable_column
    column :id
    column :name
    column :advertiser
    column :duration
    column :paused
    column :in_preparation

    panel 'A custom panel' do
      render partial: 'campaigns_custom_element'
    end
  end

问题是 ActiveAdmin 总是将索引 table 作为最后一个元素:

相反,我想要的布局是索引 table 后跟我的自定义元素:

有一种简单明了的方法可以做到这一点,而无需创建整个自定义索引页面吗?

如果依赖 javascript 不会打扰您,这里有一个小的概念证明:将面板包裹在 div 中,如下所示:

div(id: 'get_lower') do
  panel 'A custom panel' do
    render partial: 'campaigns_custom_element'
  end
end

然后在 app/assets/javascripts/active_admin.js

的末尾添加此代码段
;(function($) {
    $(document).ready(function() {
        $("#get_lower").insertAfter(".index_table");
    });
})(jQuery);