So geht’s:
-
Auf dem Client: Fügen Sie einen Topic-Query-Parameter mit
api.addDiscoveryQueryParamhinzu. -
Auf dem Server: Filtern Sie Topic-Abfragen nach dem Parameter mit
add_custom_filterin der KlasseTopicQuery(siehelib/topic_query).
Die Callback-Funktion für add_custom_filter sieht etwa so aus:
::TopicQuery.add_custom_filter(:field_name) do |topics, query|
if query.options[:field_name]
topics.where("topics.id in (
SELECT topic_id FROM topic_custom_fields
WHERE (name = 'field_name')
AND value = '#{query.options[:field_name]}'
)")
else
topics
end
end