фильтр активного администратора - PullRequest
2 голосов
/ 16 марта 2012

У меня есть модель page.rb и модель comment.rb и комментарий принадлежит странице. Также я использую Gem Active Admin. На странице указателя у меня есть поисковая форма, созданная фильтром, у меня есть

  filter :country
  filter :city
  filter :category
  filter :description_type
  filter :title
  filter :sight_of_the_day, :as => :select
  filter :active, :as => :select
  filter :show_in_top, :as => :select
  filter :created_at
  filter :updated_at

все работает нормально, но я хочу иметь еще 1 фильтр. Я хочу сделать флажок с именем "комментарии", и если он установлен, я хочу найти только те страницы, которые имеют комментарии. Как я могу сделать это в активном админе? Заранее спасибо!

1 Ответ

10 голосов
/ 02 мая 2012

Может быть, вы хотите что-то вроде этого:

filter :has_comments, :as => :select

Это сгенерирует select с опциями «Any», «Yes», ​​«No».Также вам нужен метод поиска "has_comments_eq":

scope :has_comments_eq, lambda { |has| has == "true" ? with_comments : without_comments }
search_method :has_comments_eq

search_method doc

...