Recuperare argomenti basati su campo personalizzato?

Il modo per farlo è

  1. Sul client: Aggiungi un parametro di query per l’argomento utilizzando api.addDiscoveryQueryParam

  2. Sul server: Filtra le query per argomento tramite il parametro usando add_custom_filter nella classe TopicQuery (vedi lib/topic_query)

Il callback add_custom_filter assomiglierà a questo

::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
3 Mi Piace