Gem da API do Discourse - como criar um tópico com tags?

Isso não está funcionando…

client.create_topic(
  title: "Meu Título",
  category: "13",
  raw: "Meu Post",
  tags: "testtag"
)

Como exigimos pelo menos uma tag, recebo:

DiscourseApi::UnprocessableEntity ({"action"=>"create_post", "errors"=>["Você deve selecionar pelo menos 1 tag."]}):

Alguém sabe como criar tópicos com tags via a gem Discourse?

2 curtidas

Talvez faça assim: tags:["testtag"]

2 curtidas

Isso também não funciona, Faizaan (a mesma mensagem de que uma tag é necessária).

Não tenho certeza se isso está desatualizado, mas parece que as tags são diferentes das outras, sendo algum tipo de array — mas como usamos isso através do gem?

Se você observar a aba de rede enquanto faz uma requisição bem-sucedida, poderá traduzir isso para como fazer isso com o gem.

1 curtida

Isso precisa deste formato:

Mas como fazer isso com o gem?

Isso é o que ilustrei em minha postagem acima.

…mas não funciona:

DiscourseApi::UnprocessableEntity ({“action”=>“create_post”, “errors”=>[“Você deve selecionar pelo menos 1 tag.”]}):

:confused:

1 curtida

Você pode tentar outras tags?

1 curtida

Haha, foi exatamente isso que eu também pensei, então fiz o mesmo. Os últimos que tentei definitivamente existem (mas ainda assim não funcionam).

1 curtida

Você pode desativar as tags obrigatórias em uma categoria para verificar se a funcionalidade realmente funciona?

Você está se referindo ao gem? Ele funciona conforme eu uso para criar postagens em tópicos existentes (na verdade, do mesmo script), enviar mensagens privadas etc. Esta é a primeira vez que estou tentando adicionar tags.

1 curtida

Ok, entendi. Tenho certeza de que você está fazendo, mas só confirmando

client.create_topic(
  title: "Meu Título",
  category: "13",
  raw: "Meu Post",
  tags: ["testtag", "testtag2"]
)
1 curtida

Ao analisar o código-fonte do gem discourse_api, parece que ele ainda não suporta a criação de tópicos com tags. Vou adicionar isso à minha lista.

5 curtidas

Obrigado, Blake :slightly_smiling_face:

1 curtida

Ok, agora você pode criar Tópicos com tags usando a versão mais recente (0.42.0) do gem discourse_api.

Basta passar as tags em um array da seguinte forma:

4 curtidas

Uau – isso foi rápido, Blake!

Não esperava uma atualização tão cedo e acabei encontrando uma solução alternativa usando o método POST e passando tudo como parâmetros. Fazer isso com create_topic é definitivamente melhor, porém. Obrigado!

3 curtidas

Este tópico foi automaticamente fechado após 29 horas. Novas respostas não são mais permitidas.