Отключить загрузку 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
  }
}
Другие вопросы по тегам