在 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);
我想在 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);