안녕하세요,
TopicQuery.add_custom_filter 함수를 사용하는 플러그인을 하나 개발하고 있습니다.
이 커스텀 필터는 랜딩 페이지에 표시되는 기본 주제 목록에만 의도대로 적용되고 있습니다.
topic_query.rb 파일의 default_results 메서드에서 다음과 같이 커스텀 필터를 적용하는 호출이 있는 것을 확인했습니다:
result = apply_ordering(result, options)
이 부분은 좋은데, 제가 원한 것과는 정확히 다릅니다. 저는 /review 페이지에 표시되는 모든 항목에도 이 필터가 적용되기를 원합니다. 어떻게 해야 할지 잘 모르겠습니다.
이 코드 부분에 대해 잘 알고 계신 분이 있을까요?
현재 필터링 방식을 아래에서 확인하실 수 있습니다:
https://github.com/hms-networks/discourse-location-filters/blob/test/app/controllers/filter_controller.rb
제가 말씀드리는 discourse rb 파일은 이 파일입니다:
이 주제 쿼리 경로를 따라가면서 시작부터 잘못되었던 것 같습니다. reviewables가 아예 해당 주제 쿼리 함수를 사용하지 않는 것 같아서, 이렇게 커스텀 필터를 적용할 수 없네요.
또한 apply_custom_filters의 매개변수에 대해 여전히 약간 혼란스럽습니다. results가 주제들의 Ruby 해시를 가리키는 건가요? 그리고 topic_query는 단순히 클래스의 인스턴스인가요?
앞으로는 이것이 올바른 방법인지 확신이 서지 않지만, 현재 사용자에 따라 reviewables 목록에서 주제를 제거할 수 있도록 reviewables_controller#index 함수를 오버라이드하는 방법을 찾아보겠습니다.
여기서 조언이나 제안이 있다면 좋겠습니다 