Perché gli attributi name, color e text_color sono obbligatori per la rotta di aggiornamento della categoria (Discourse API Docs)?
Sembra che attributi come lo slug dovrebbero poter essere aggiornati senza dover specificare altri attributi.
Perché gli attributi name, color e text_color sono obbligatori per la rotta di aggiornamento della categoria (Discourse API Docs)?
Sembra che attributi come lo slug dovrebbero poter essere aggiornati senza dover specificare altri attributi.
Trovo anche io questo un po’ fastidioso. Quando aggiorno altre informazioni relative a una categoria, non conosco necessariamente il color e il text_color della categoria stessa. Le mie opzioni sono quindi modificare entrambi con valori neutri o aggiungere un’altra chiamata API per raccogliere prima tali informazioni. Ecco un esempio che utilizza il 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'],
# Aggiungi qui gli attributi che desideri effettivamente aggiornare
parent_category_id: 7, # Sto annidando diverse categorie sotto la #7
)
Ovviamente non conoscerò sempre nemmeno il nome della categoria. Di sicuro devo recuperarlo prima di aggiornare la categoria.
Sarebbe utile se quei parametri non fossero obbligatori. In alternativa, potrebbe esserci una qualche sintassi per indicare “non voglio modificare questo campo”? Ad esempio, se passi _, quell’attributo verrebbe semplicemente impostato sul valore corrente. (Non sono sicuro del motivo per cui i campi siano obbligatori, quindi sto proponendo idee che potrebbero essere utili o meno.)
Concordo. Non credo che i campi colore debbano essere obbligatori durante l’aggiornamento. Probabilmente non dovrebbero essere obbligatori nemmeno durante la creazione. Valuterò la questione e vedrò cosa posso migliorare.
Ho appena pubblicato un aggiornamento per questo ![]()
Quando si crea una categoria, il campo nome è ancora obbligatorio, ma quando si aggiorna una categoria non è più necessario specificare nome, colore e colore del testo, oltre alla proprietà effettiva che si desidera aggiornare.