AstonJ
(AstonJ)
06.Июль.2020 03:31:54
1
Это не работает…
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?
fzngagan
(Faizaan Gagan)
06.Июль.2020 07:15:26
2
Может быть, сделайте это так: tags:["testtag"]
AstonJ
(AstonJ)
06.Июль.2020 15:11:40
3
Это тоже не работает, Фаизан (сообщение о том, что требуется тег).
Не уверен, актуальна ли эта информация, но, похоже, теги отличаются от остальных — они какого-то типа массива. Но как использовать это через gem?
This worked for me and added two tags:
curl --data "api_key=asdf...asdf&api_username=neill&title=this%20one%20has%20two%20tags&raw=and%20it%20is%20twice%20as%20delicious&tags[]=mazda&tags[]=protege" http://localhost:3000/posts.json
[image]
So I’m not sure why it isn’t working for you…
fzngagan
(Faizaan Gagan)
06.Июль.2020 15:14:40
4
Если вы посмотрите на вкладку «Сеть» при выполнении успешного запроса, то сможете перенести это в инструкцию по использованию гема.
AstonJ
(AstonJ)
06.Июль.2020 15:17:40
5
Это требует следующего формата:
Но как это сделать с помощью гема?
fzngagan
(Faizaan Gagan)
06.Июль.2020 15:34:21
6
Вот что я проиллюстрировал в своём сообщении выше.
AstonJ
(AstonJ)
06.Июль.2020 15:47:19
9
Ха-ха, я так же подумал, поэтому просто сделал — последние несколько, которые я пробовал, точно существуют (но всё равно не работают).
fzngagan
(Faizaan Gagan)
06.Июль.2020 15:57:53
10
Можно ли отключить обязательные теги для категории, чтобы проверить, работает ли это на самом деле?
AstonJ
(AstonJ)
06.Июль.2020 16:37:59
11
Вы имеете в виду gem? Он работает: я использую его для создания постов в существующих темах (на самом деле из того же скрипта), отправки личных сообщений и так далее. Но впервые я пытаюсь добавить теги.
fzngagan
(Faizaan Gagan)
06.Июль.2020 16:40:18
12
Понял, спасибо. Просто хочу убедиться, что вы всё делаете правильно.
client.create_topic(
title: "Мой заголовок",
category: "13",
raw: "Мой пост",
tags: ["testtag", "testtag2"]
)
blake
(Blake Erickson)
06.Июль.2020 16:42:54
13
Посмотрев исходный код гема discourse_api, я вижу, что он пока не поддерживает создание тем с тегами. Я добавлю это в свой список.
blake
(Blake Erickson)
09.Июль.2020 18:53:39
15
Отлично, теперь вы можете создавать темы с тегами, используя последнюю версию (0.42.0) gem discourse_api.
Вам просто нужно передать теги в виде массива, например:
fzngagan:
client.create_topic(
title: "Мой заголовок",
category: "13",
raw: "Мой пост",
tags: ["testtag", "testtag2"]
)
AstonJ
(AstonJ)
09.Июль.2020 22:03:09
16
Вау — это было быстро, Блейк!
Я не ожидал обновления так скоро и поэтому смог найти обходной путь, используя метод POST и передавая всё как параметры. Конечно, делать это через create_topic гораздо лучше, спасибо!