Отключить загрузку CSV в Active Admin
Я использую гем Active Admin и хотел бы скрыть или удалить ссылки на странице индекса каждой модели, позволяя пользователям загружать данные в формате CSV, XML или JSON. Есть какой-либо способ сделать это?
6 ответов
Есть сейчас вариант :download_links
на метод индекса, так что вы пропустите ссылки на скачивание, если хотите.
Например:
ActiveAdmin.register Post do
index :download_links => false do
# whatever
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
Поскольку вы спрашивали, как удалить ссылки для загрузки на каждой странице, лучше всего добавить следующую строку в файл 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
Примечание. Не забудьте перезагрузить сервер после изменения файла конфигурации.
Альтернативой вышеупомянутому исправлению CSS является этот патч обезьяны:
module ActiveAdmin
module Views
class PaginatedCollection
def build_download_format_links(*args)
''
end
end
end
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]
...
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
}
}