【问题标题】:Insert custom element at the bottom of an ActiveAdmin index page在 ActiveAdmin 索引页面的底部插入自定义元素
【发布时间】:2020-06-07 13:46:14
【问题描述】:

我想在 ActiveAdmin 索引页面的底部插入一个自定义元素。例如,有一个 Campaign 模型,在 ActiveAdmin 活动索引页面中,我希望在默认索引表后跟我的自定义元素(一个名为 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 总是将索引表作为最后一个元素:

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

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

【问题讨论】:

    标签: ruby-on-rails activeadmin


    【解决方案1】:

    如果依赖 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 的末尾添加这个 sn-p

    ;(function($) {
        $(document).ready(function() {
            $("#get_lower").insertAfter(".index_table");
        });
    })(jQuery);
    

    【讨论】:

    • 谢谢,这种方法很完美。也可以将 JS sn-p 直接添加到包含部分的 html.erb 文件中的 script 标记内。
    猜你喜欢
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多