ActiveAdmin — Использование областей с фильтрами

В моей модели ActiveAdmin у меня есть настраиваемая область для отображения удаленных записей и несколько фильтров для поиска записей по определенным столбцам.

Использование фильтров по отдельности или вместе работает должным образом.

Использование прицела работает должным образом.

Проблема в том, что использование области видимости переопределяет все фильтры, и после выбора области действия любой добавленный фильтр ничего не делает.

У кого-нибудь есть идеи? Я хочу иметь возможность показывать конкретную область, а затем по-прежнему иметь возможность фильтровать результаты в этой области.

    ActiveAdmin.register Example do
      scope :deleted do |example|
        Example.only_deleted
      end

      scope :all do |example|
        Example.with_deleted
      end

      filter :title
      filter :description

      index do
        column :title
        column :description
      end

    end

[обновление]

Вот решение, которое я выбрал. Я устанавливаю область with_deleted для модели и включаю фильтр сбоку для отображения/скрытия удаленных результатов. Не идеально, поскольку изначально удаленные результаты также отображаются, но, по крайней мере, все фильтры можно использовать вместе.

    ActiveAdmin.register Example.with_deleted do

      filter :title
      filter :description
      filter :deleted, :as => :select, :collection => {:true => nil, :false => false }

      index do
        column :title
        column :description
      end

    end
7
задан Philip Broadway 11 May 2012 в 04:54
поделиться