Gem de API de Discourse: ¿cómo crear un tema con etiquetas?

Esto no funciona…

client.create_topic(
  title: "Mi título",
  category: "13",
  raw: "Mi publicación",
  tags: "etiqueta_prueba"
)

Dado que requerimos al menos una etiqueta, obtengo:

DiscourseApi::UnprocessableEntity ({"action"=>"create_post", "errors"=>["Debes seleccionar al menos 1 etiqueta."]}):

¿Alguna idea sobre cómo crear temas con etiquetas mediante la gem de Discourse?

Tal vez convenga usar tags:["testtag"]

Eso tampoco funciona, Faizaan (el mismo mensaje de que se requiere una etiqueta).

No estoy seguro si esto está desactualizado, pero parece que las etiquetas son diferentes a las demás, ya que son de algún tipo de array. Sin embargo, ¿cómo las usamos a través del gem?

Si observas la pestaña de red mientras realizas una solicitud exitosa, puedes traducirlo a cómo hacerlo con el gem.

Necesita este formato:

Pero, ¿cómo se hace eso con la gem?

Esto es lo que ilustré en mi publicación anterior.

…pero no funciona:

DiscourseApi::UnprocessableEntity ({“action”=>“create_post”, “errors”=>[“Debes seleccionar al menos 1 etiqueta.”]}):

:confused:

¿Puedes probar otras etiquetas?

Jaja, eso es exactamente lo que yo también pensaba, así que simplemente lo hice. Los últimos que probé definitivamente existen (pero aún así no funcionan).

¿Puedes desactivar las etiquetas obligatorias en una categoría para ver si realmente funciona?

¿Te refieres al gem? Funciona, ya que lo uso para crear publicaciones en temas existentes (de hecho, desde el mismo script), enviar mensajes privados, etc. Esta es la primera vez que intento agregar etiquetas.

Ok, veo. Estoy seguro de que lo estás haciendo, pero solo para confirmar

client.create_topic(
  title: "Mi título",
  category: "13",
  raw: "Mi publicación",
  tags: ["testtag", "testtag2"]
)

Al revisar el código fuente del gem discourse_api, parece que aún no admite la creación de temas con etiquetas. Lo agregaré a mi lista.

Gracias, Blake :slightly_smiling_face:

¡Bien, ahora puedes crear Temas con etiquetas usando la última versión (0.42.0) del gem discourse_api.

Solo necesitas pasar las etiquetas en un array así:

¡Vaya, eso fue rápido, Blake!

No esperaba una actualización tan pronto y logré encontrar una solución alternativa usando el método POST y pasando todo como parámetros. Sin embargo, hacerlo con create_topic es definitivamente mejor. ¡Gracias!