在Active Admin中禁用CSV下载

我正在使用Active Admin gem,我想隐藏或删除每个模型的索引页面上的链接,允许用户以CSV,XML或JSON格式下载数据。 有没有办法做到这一点?

现在有一个选项:download_links索引方法,所以你可以省略下载链接。

例如:

 ActiveAdmin.register Post do index :download_links => false do # whatever end end 

上面的css修复的替代方案是这个猴子补丁:

 module ActiveAdmin module Views class PaginatedCollection def build_download_format_links(*args) '' end end end end 

您应该将它用作索引的选项,但不要将其与列函数分开。 像这样使用它。

 ActiveAdmin.register Post do index :download_links => false do column :title column :body end end 

不要像这样使用它。这将显示所有表列,而不是列函数指定的唯一列

 index download_links: false index do column :title column :body end 

ActiveAdmin不允许配置它。 使用CSS破解它。

app/assets/stylesheets/active_admin.css.scss

 .index #active_admin_content #index_footer { color: white; // Hides the 'Download text'. Pagination links are styled on their own a { display: none; // Hides the CSV .. links } } 

由于您询问了如何删除每个页面上的下载链接,因此最好的做法是在config / initializers / active_admin.rb文件中添加以下行。

 config.namespace :admin do |admin| admin.download_links = false end 

您还可以指定下载数据的选项,例如:

 config.namespace :admin do |admin| admin.download_links = [:pdf] # Now, it will only show PDF option. end 

注意:修改配置文件后,请不要忘记重新启动服务器。

对于那些最近对这个页面感到满意的人来说,这对我有用:

1:隐藏所有下载:

app/admin/your_model.rb

 ActiveAdmin.register YourModel do index download_links: [nil] ... 

2:仅显示JSON。 (因为你为什么还需要别的东西?):

app/admin/your_model.rb

 ActiveAdmin.register YourModel do index download_links: [:json] ... 

3:这是一个数组,所以你可以添加XML,CSV等:

app/admin/your_model.rb

 ActiveAdmin.register YourModel do index download_links: [:json, :xml, :csv] ...