У меня есть плагин, который использует функцию TopicQuery.add_custom_filter.
Он применяет мой пользовательский фильтр, как и ожидалось, только к представлению по умолчанию тем, отображаемых на главной странице.
Я заметил, что это связано с тем, что в файле topic_query.rb в методе default_results есть вызов для применения моих пользовательских фильтров с помощью:
result = apply_ordering(result, options)
Это хорошо, но не совсем то, что мне нужно. Я хотел, чтобы этот фильтр применялся ко всему, что отображается на странице /review. Не уверен, как это сделать.
Похоже, я ошибся, начав с этого пути запросов по темам, так как, судя по всему, reviewables вообще не использует эти функции запросов по темам, поэтому я не могу применить пользовательский фильтр таким образом.
Также я всё ещё немного запутался в параметрах apply_custom_filters. Означают ли results хэш Ruby с темами? И является ли topic_query просто экземпляром класса?
Двигаясь дальше, я не уверен, что это правильный подход, но попробую выяснить, как переопределить функцию reviewables_controller#index, чтобы удалять темы из списка reviewables в зависимости от текущего пользователя.