Gem API di Discourse: come creare un argomento con tag?

Questo non funziona…

client.create_topic(
  title: "My Title",
  category: "13",
  raw: "My Post",
  tags: "testtag"
)

Dato che è richiesto almeno un tag, ricevo:

DiscourseApi::UnprocessableEntity ({"action"=>"create_post", "errors"=>["You must select at least 1 tag."]}):

Qualcuno ha un’idea su come creare argomenti con tag tramite il gem Discourse?

Forse usa tags:["testtag"]

Anche questo non funziona Faizaan (stesso messaggio che è richiesto un tag).

Non sono sicuro se sia obsoleto, ma sembra che i tag siano diversi dagli altri, essendo un tipo di array, ma come lo utilizziamo tramite il gem?

Se osservi la scheda di rete mentre esegui una richiesta riuscita, puoi tradurlo in come farlo con il gem.

Serve questo formato:

Ma come si fa questo con il gem?

Questo è ciò che ho illustrato nel mio post precedente.

…ma non funziona:

DiscourseApi::UnprocessableEntity ({“action”=>“create_post”, “errors”=>[“Devi selezionare almeno 1 tag.”]}):

:confused:

Puoi provare altri tag?

Haha, pensavo lo stesso, quindi l’ho fatto appena - gli ultimi che ho provato esistono sicuramente (ma ancora non funzionano).

Puoi disattivare i tag obbligatori su una categoria per verificare se la cosa funziona davvero?

Intendi il gem? Funziona, dato che lo uso per creare post in argomenti esistenti (anzi, dallo stesso script), inviare messaggi privati, ecc. È la prima volta che provo ad aggiungere dei tag.

Ok, ho capito. Sono certo che tu lo stia facendo, ma voglio solo confermare

client.create_topic(
  title: "Il mio titolo",
  category: "13",
  raw: "Il mio post",
  tags: ["testtag", "testtag2"]
)

Guardando il codice sorgente del gem discourse_api, sembra che non supporti ancora la creazione di argomenti con tag. Lo aggiungerò alla mia lista.

Grazie, Blake :slightly_smiling_face:

Ok, ora puoi creare Topic con tag utilizzando l’ultima versione (0.42.0) del gem discourse_api.

Basta passare i tag in un array come segue:

Wow, che velocità, Blake!

Non mi aspettavo un aggiornamento così presto, quindi sono riuscito a trovare una soluzione alternativa usando il metodo POST e passando tutto come parametri. Tuttavia, farlo con create_topic è decisamente meglio, grazie!