我正在使用Active Admin gem,我想隐藏或删除每个模型索引页面上的链接,允许用户以CSV,XML或JSON格式下载数据。有没有办法做到这一点?
答案 0 :(得分:16)
索引方法现在有一个选项:download_links
,因此如果需要,可以省略下载链接。
例如:
ActiveAdmin.register Post do
index :download_links => false do
# whatever
end
end
答案 1 :(得分:2)
上面的css修复的替代方案是这个猴子补丁:
module ActiveAdmin
module Views
class PaginatedCollection
def build_download_format_links(*args)
''
end
end
end
end
答案 2 :(得分:2)
您应该将它用作索引的选项,但不要将其与列函数分开。像这样使用它。
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
答案 3 :(得分:1)
对于最近访问此页面但对答案不满意的任何人,这对我有用:
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]
...
答案 4 :(得分:0)
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
}
}
答案 5 :(得分:0)
由于您询问了如何删除每个页面上的下载链接,因此最好的方法是在 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
注意:修改配置文件后,请不要忘记重新启动服务器。