필자가 찾고있는 패싯의 범주가 여러 개 있습니다. 사용자가 특정 범주의 필터를 두 개 이상 클릭하면 흑점 결과가 모두 선택 사항 중 하나와 일치하는 모든 항목을 포함하도록 할 수 있습니다. . 시도 :흑점에서 "또는"기반 검색을 수행하려면 어떻게해야합니까?
@search = ProfileSearch.new(search_params) do
facet_restriction = with(:grad_year,params[:grad_year])
facet(:grad_year, :exclude => facet_restriction)
end
하지만 전혀 작동하지 않는 것 같습니다. 나는 다중 선택 패싯을 적절한 방법으로 사용하지 않습니까? 아니면 완전히 다른 것을 시도해야합니까?
의견을 보내 주시면 감사하겠습니다.
grad_year_exclusions = []
if params[:grad_year].present?
grad_year_exclusions << with(:grad_year).any_of(params[:grad_year])
end
grad_year_exclusions.compact!
grad_year_exclusions = nil if grad_year_exclusions.empty?
facet(:grad_year, exclude: grad_year_exclusions)
(PARAMS [: grad_year] 인 배열)
희망이 도움이
나는 그것을 시험해 보았다. 그리고 그것은 "페이지가 리다이렉트 루프를 가지고있다"라는 오류를 주었다. 이 문제를 이해해야하는 많은 문제는 검색 모델에 다양한 방법으로 많은 메소드가 있다는 것입니다. 당신이 new 메소드를 호출 할 때 initialize 메소드를 통해 실행하고 나중에 실제 검색을한다고 생각하는 또 다른 메소드가 있습니다. 나는 그것의 실행의 흐름을 들여다보아야하고 더 나은 이해를 얻지 만 제안에 감사해야 할 것이다. – user3579987