Discourse API“更新分类”所需参数

为什么更新分类路由(Discourse API Docs namecolortext_color 属性?

看起来像 slug 这样的属性应该能够在不指定其他属性的情况下进行更新。

我也觉得这有点烦人。在更新类别的其他信息时,我未必知道该类别的 colortext_color。因此,我的选择要么是将两者都改为无害的值,要么是先添加另一个 API 调用来获取这些信息。以下是使用 discourse_api gem 的示例:

response = client.categories

cat = response.find {|e| e['name'] == 'Category Name'}

response = client.update_category(
  id: cat['id'],
  name: cat['name'],
  color: cat['color'],
  text_color: cat['text_color'],

  # 在下面添加您实际想要更新的属性
  parent_category_id: 7, # 我将多个类别嵌套在 #7 下
)

显然,我也不总是知道类别名称。在更新类别之前,我确实需要先查询该名称。

如果这些参数不是必需的,那将会很方便。或者,是否可以使用某种语法来表示“我不想更改此字段”?例如,如果传入 _,则该属性保持为当前值。(我不确定为何这些字段是必需的,所以我提出这些想法,它们可能有也可能没有用。)

我同意。我认为在更新时不应强制要求颜色字段。在创建时可能也不应强制要求。我会对此进行研究,看看能做出哪些改进。

我刚刚推送了此更新:)

创建分类时,名称字段仍为必填项;但在更新分类时,除了您实际要更新的属性外,不再需要指定名称、颜色和文本颜色。