Gem для API Discourse — как создать тему с тегами?

Это не работает…

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

Так как требуется как минимум один тег, я получаю:

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

Есть ли идеи, как создавать темы с тегами через gem для Discourse?

Может быть, сделайте это так: tags:["testtag"]

Это тоже не работает, Фаизан (сообщение о том, что требуется тег).

Не уверен, актуальна ли эта информация, но, похоже, теги отличаются от остальных — они какого-то типа массива. Но как использовать это через gem?

Если вы посмотрите на вкладку «Сеть» при выполнении успешного запроса, то сможете перенести это в инструкцию по использованию гема.

Это требует следующего формата:

Но как это сделать с помощью гема?

Вот что я проиллюстрировал в своём сообщении выше.

…но это не работает:

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

:confused:

…но это не работает:

DiscourseApi::UnprocessableEntity ({“action” => “create_post”, “errors” => [“Вы должны выбрать хотя бы 1 тег.”]}):

:confused:

Попробуйте другие теги?

Ха-ха, я так же подумал, поэтому просто сделал — последние несколько, которые я пробовал, точно существуют (но всё равно не работают).

Можно ли отключить обязательные теги для категории, чтобы проверить, работает ли это на самом деле?

Вы имеете в виду gem? Он работает: я использую его для создания постов в существующих темах (на самом деле из того же скрипта), отправки личных сообщений и так далее. Но впервые я пытаюсь добавить теги.

Понял, спасибо. Просто хочу убедиться, что вы всё делаете правильно.

client.create_topic(
  title: "Мой заголовок",
  category: "13",
  raw: "Мой пост",
  tags: ["testtag", "testtag2"]
)

Посмотрев исходный код гема discourse_api, я вижу, что он пока не поддерживает создание тем с тегами. Я добавлю это в свой список.

Спасибо, Блейк :slightly_smiling_face:

Отлично, теперь вы можете создавать темы с тегами, используя последнюю версию (0.42.0) gem discourse_api.

Вам просто нужно передать теги в виде массива, например:

Вау — это было быстро, Блейк!

Я не ожидал обновления так скоро и поэтому смог найти обходной путь, используя метод POST и передавая всё как параметры. Конечно, делать это через create_topic гораздо лучше, спасибо!