我也觉得这有点烦人。在更新类别的其他信息时,我未必知道该类别的 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 下
)
显然,我也不总是知道类别名称。在更新类别之前,我确实需要先查询该名称。
如果这些参数不是必需的,那将会很方便。或者,是否可以使用某种语法来表示“我不想更改此字段”?例如,如果传入 _,则该属性保持为当前值。(我不确定为何这些字段是必需的,所以我提出这些想法,它们可能有也可能没有用。)