为什么更新分类路由(Discourse API Docs name、color 和 text_color 属性?
看起来像 slug 这样的属性应该能够在不指定其他属性的情况下进行更新。
为什么更新分类路由(Discourse API Docs name、color 和 text_color 属性?
看起来像 slug 这样的属性应该能够在不指定其他属性的情况下进行更新。
我也觉得这有点烦人。在更新类别的其他信息时,我未必知道该类别的 color 和 text_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 下
)
显然,我也不总是知道类别名称。在更新类别之前,我确实需要先查询该名称。
如果这些参数不是必需的,那将会很方便。或者,是否可以使用某种语法来表示“我不想更改此字段”?例如,如果传入 _,则该属性保持为当前值。(我不确定为何这些字段是必需的,所以我提出这些想法,它们可能有也可能没有用。)
我同意。我认为在更新时不应强制要求颜色字段。在创建时可能也不应强制要求。我会对此进行研究,看看能做出哪些改进。
我刚刚推送了此更新:)
创建分类时,名称字段仍为必填项;但在更新分类时,除了您实际要更新的属性外,不再需要指定名称、颜色和文本颜色。