2012-03-15 4 views
2

I 모델 page.rb가 있고 모델 comment.rb가 있고 belongs_to 페이지에 의견이 있습니다. 또한 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 개 더 있습니다. 나는 "comments"라는 체크 박스를 만들고 싶다. 체크가되어 있다면, 나는 단지 코멘트가있는 페이지를 찾고 싶다. 능동적 인 관리자라면 어떻게 할 수 있습니까? 미리 감사드립니다!

filter :has_comments, :as => :select 

이 "모든", "예", "아니오"옵션을 선택 생성합니다

답변

10

아마 당신은이 같은 것을 원한다. 또한 당신은 방법 "has_comments_eq"를 검색해야합니다

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

search_method doc

+0

아주 아주 좋은! – RubyFanatic

+3

최신 ActiveAdmin에서 MetaSearch가 Ransack으로 대체되었으므로'search_method' 대신'ransacker'를 사용해야합니다. [예제] (https://github.com/ernie/ransack/blob/master/spec/support/schema.rb#L18)가 있습니다. – manafire

관련 문제