J’ai un plugin qui utilise la fonction TopicQuery.add_custom_filter.
Il applique mon filtre personnalisé comme prévu uniquement à la vue par défaut des sujets affichés sur la page d’accueil.
J’ai remarqué que c’est parce que dans le fichier topic_query.rb, au sein de la méthode default_results, il y a un appel pour appliquer mes filtres personnalisés avec :
result = apply_ordering(result, options)
C’est bien, mais ce n’est pas exactement ce que je souhaitais. Je voulais que ce filtre s’applique à tout ce qui apparaît sous la page /review. Je ne suis pas sûr de la manière de procéder.
Quelqu’un est-il familier avec cette partie du code ?
Je suppose que j’ai fait une erreur en m’engageant sur cette voie de requête de sujet, car il semble que reviewables n’utilise même pas ces fonctions de requête de sujet, donc je ne peux pas appliquer un filtre personnalisé de cette manière.
De plus, je suis encore un peu confus quant aux paramètres de apply_custom_filters. Est-ce que results fait référence à un hachage Ruby de sujets ? Et topic_query est-il simplement une instance de la classe ?
Pour la suite, je ne suis pas sûr que ce soit la bonne approche, mais je vais essayer de découvrir comment je peux remplacer la fonction reviewables_controller#index afin de supprimer des sujets de la liste reviewables en fonction de l’utilisateur actuel.
Des conseils et des suggestions seraient les bienvenus