2012-01-19 73 views
5

我正在使用Active Admin gem,我想隱藏或刪除每個模型索引頁上的鏈接,以允許用戶將數據下載爲CSV,XML或JSON。有沒有辦法做到這一點?在Active Admin中禁用CSV下載

回答

1

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 
    } 
} 
+0

非常感謝Akshay。另一個完全禁用它們的解決方案是https://gist.github.com/1641438。但是,當我開始在Github上開始工作時,它只對我有效。 –

2

以上的CSS修復的替代方案是這隻猴子補丁:

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

現在有許多關於索引方法的選擇:download_links,讓你忽略,如果下載鏈接你要。

例如:

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

嘿@ kimos,很好的第一個答案。 – thomasfedb

+3

您甚至可以在config/initalizers/active_admin.rb中全局設置它 – bonyiii

1

你應該把它作爲指標的選擇,但不要把它從列功能分開。像這樣使用它。

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

不要使用它像this.This將讓你的所有表列顯示,不只是你的列函數

index download_links: false 
index do 
    column :title 
    column :body 
end 
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 

注意:請不要忘記你修改配置文件後重新啓動服務器。