Discourse API Gem - 如何使用标签创建主题?

这不起作用…

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."]}):

请问如何通过 Discourse gem 创建带标签的主题?

2 个赞

也许可以改成 tags:["testtag"]

2 个赞

Faizaan,这也行不通(同样是提示需要标签的错误信息)。

不确定这是否已过时,但看起来标签与其他字段不同,属于某种数组类型——那么我们该如何通过 gem 来使用它呢?

如果在发起成功请求时查看网络标签页,那么你可以将其转换为如何使用该 gem 的方法。

1 个赞

它需要这种格式:

但是如何用这个 gem 来实现呢?

这就是我上面帖子中说明的内容。

……但它不起作用:

DiscourseApi::UnprocessableEntity ({“action”=>“create_post”, “errors”=>[“您必须至少选择一个标签。”]})

:confused:

1 个赞

你能试试其他标签吗?

1 个赞

哈哈,我也是这么想的,所以就直接试了——最近几个我试的确实存在(但依然无法使用)。

1 个赞

你能关闭类别中的必填标签,以测试该功能是否真的有效吗?

你是指那个 gem 吗?我平时用它来在现有主题中发帖(实际上用的是同一个脚本)、发送私信等等。不过,这是我第一次尝试添加标签。

1 个赞

好的,我明白了。我相信您正在处理,只是想确认一下

client.create_topic(
  title: "我的标题",
  category: "13",
  raw: "我的帖子",
  tags: ["testtag", "testtag2"]
)
1 个赞

查看 discourse_api gem 的源代码,似乎它还不支持使用标签创建主题。我会将其加入我的待办事项列表。

5 个赞

谢谢布莱克 :slightly_smiling_face:

1 个赞

好的,使用最新版本的 discourse_api gem(0.42.0),您现在可以使用标签创建主题了。

您只需将标签以数组形式传入即可,如下所示:

4 个赞

哇,Blake,这速度真快!

我没想到更新会来得这么快,所以暂时通过 POST 方法并将所有数据作为参数传递的方式找到了一个变通方案。不过,使用 create_topic 来操作确实更好,谢谢!

3 个赞

此主题在 29 小时后自动关闭。不再允许新回复。