EDIT: Tendo investigado mais a fundo api.addDiscoveryQueryParam, acho que agora entendi a ideia geral:
Quero recuperar programáticamente todos os tópicos com o campo personalizado fun_level = super-duper-fun. Acredito que talvez um método de controlador possa fazer isso? (ainda estou descobrindo como).
Uma alternativa é fazer uma busca com ajax("/search"), onde estou pesquisando todos os tópicos com base no campo personalizado fun_level=super-duper-fun. Mas criar o campo personalizado não é suficiente para habilitar isso. Preciso tornar o campo personalizado fun_level um dos campos contra os quais é possível pesquisar (assim como você pode pesquisar em certas categorias, tags, etc.), e isso não é feito automaticamente.
De alguma forma, api.addDiscoveryQueryParam em um arquivo JS, combinado com TopicQuery em plugin.rb, é necessário para fazer isso. Mas, para ser honesto, ainda não consegui fazer funcionar. Já vi alguns plugins que usam esses métodos, mas não consegui entender como eles “concluem o trabalho”. Acredito que algum código adicional seja necessário, mas ainda não o encontrei.
Como se chega desses métodos para ter, na prática, o campo personalizado disponível como termo de busca?
Resposta Anterior
Obrigado, @angus. Para esclarecer, o objetivo não é fazer com que os usuários insiram manualmente valores de busca na caixa de pesquisa. O objetivo é recuperar programáticamente tópicos com base em um determinado campo personalizado. Por exemplo, o usuário acessaria a página /fun_levels/super-duper-fun e carregaria todos os tópicos onde o campo fun_level = ‘super-duper-fun’.
api.addDiscoveryQueryParam serve para esse propósito?
Analisando exemplos como este, não tenho certeza de como addDiscoveryQueryParam funciona para realmente recuperar os tópicos (não acho que chamar esse método retorne resultados que eu possa analisar).
Talvez seja para permitir, potencialmente, que o usuário pesquise manualmente pelo termo na caixa de busca? Essa não é a situação que estou visando. (É perfeitamente possível que eu esteja perdendo algo).
Mencionei anteriormente o uso de ajax("/search..."), pois é o melhor que consegui até agora para retornar tópicos, mas estou me perguntando se existe uma maneira mais eficiente de fazer isso, inclusive configurando um modelo e um método de controlador para exibir tópicos automaticamente, como faz /tags/:tag-name (isso é mais complexo, então espero evitar, mas se for a melhor opção, considerarei).