Пропустить область по умолчанию при фильтрации в ActiveAdmin - PullRequest
0 голосов
/ 03 октября 2018

У меня есть область действия по умолчанию в ActiveAdmin, исключая статус «ожидающий», потому что у нас есть много этого статуса, и мы не хотели видеть его по умолчанию.Но когда мы ищем по фильтру, мы хотим пропустить эту область по умолчанию и включить статус «в ожидании».Как это сделать?

Моя модель:

class MyModel < ActiveRecord::Base
   validates :status, presence: true,
                      inclusion: { in: %w(pending published accepted declined cancelled) } 
   scope :published, lambda {
      where("bookings.published_at IS NOT NULL")
   }   
end

ActiveAdmin Модель:

ActiveAdmin.register MyModel do
  actions :index, :show

  config.sort_order = "locked_at_desc"
  config.scope :published, default: true

  index do
    column :id
    column :status
    actions
  end
end

1 Ответ

0 голосов
/ 03 октября 2018

Вам необходимо добавить :all scope в файле администратора.Затем вы можете выполнить поиск по фильтру, который будет включать pending статус в области действия :all .Если вам нужно ускорить загрузку всех ваших записей, вы можете предоставить show_count: false в :all scope.

ActiveAdmin.register MyModel do
  ...
  scope :published, default: true
  scope :all # scope :all, show_count: false
  ...
end
...