Recentemente aggiornati all’ultima versione e due delle mie categorie puntano alla stessa (diciamo che avete Categoria 1 e Categoria 2, entrambe mostrano i contenuti della Categoria 1). Questo comportamento è già piuttosto strano, quindi, cercando di “sbrogliare la matassa”, ho provato a modificare le configurazioni della Categoria 2, che era quella che mostrava i post sbagliati. Le modifiche non venivano salvate, indipendentemente dal numero di tentativi.
Tuttavia, ho provato a cambiare l’URL della categoria in qualcos’altro per vedere se questo avrebbe forzato un ricaricamento o qualcosa del genere; ora, se cliccate sulla categoria, Discourse rimane bloccato in fase di ricaricamento senza aggiornare l’URL alla categoria corretta. Quindi, a meno che non mi stia perdendo qualcosa, ora non riesco a modificare la categoria, dato che bisogna entrarci per modificarla (credo).
Ho già ricostruito la nostra istanza e fatto tutto il resto, ma nulla è cambiato. Qualcuno ha un suggerimento su cosa fare?
Forse controlla i permalink? Un permalink viene creato quando rinomini una categoria. Potrebbe essere questa la causa del problema (penso che sarebbe ovvio se fosse questo il caso, ma è l’unica cosa che mi viene in mente).
Infatti, esiste un permalink per la categoria, ma ho ancora lo stesso comportamento strano.
Mentre giocavo con i permalink, credo di aver capito il problema: “Categoria 1” ha un nome normale (cioè: “Categoria”), mentre “Categoria 2” aveva un nome numerico (cioè: “11”). A quanto pare, ciò che penso stia accadendo è che, poiché “Categoria 1” ha l’“ID Categoria” che è lo stesso numero del nome di “Categoria 2”, tutto si è incasinato.
Poiché la modifica del nome che ho apportato era a un numero più grande solo per provare (da “11” a “111”), ora è bloccato in caricamento… forse perché sta cercando l’ID Categoria “111”? Qualcuno può confermare se questo è possibile?
Ho aggiunto i permalink sia al nome vecchio (“11”) che a quello nuovo (“111”). Nessun effetto, continua a caricare (ho dovuto indovinare l’ID della categoria, non so se esista un modo per verificarlo da qualche parte).
Vorrei aggiungere che la categoria in questione è una sottocategoria (lo menziono solo perché guardando l’URL non so se influisca sull’output). Quindi è qualcosa del tipo /c/CategoriaGenitore/111
Esiste un modo per manipolare una categoria se non si ha accesso ad essa? Per provare a cambiare l’URL o qualcosa del genere?
Ho continuato a provare diverse cose con le mie conoscenze limitate. A meno che qualcuno non indichi un modo per modificare una Categoria senza accedervi, ho poche idee… esiste un modo per “spostare” tutti i Topic di una Categoria in un’altra?
Visto che non riesco a risolvere il problema da solo, forse un modo per mitigarlo dal punto di vista dell’usabilità sarebbe spostarlo in un’altra categoria e lasciare quella “zombie” fino a quando qualcuno non avrà un’idea migliore (perché, se non sbaglio, non è possibile eliminare una Categoria senza accedervi, quindi rimarrebbe lì, vuota, nell’elenco).
Esegui un backup del tuo sito prima di eseguire i comandi!
cd /var/discourse
./launcher enter app
rails c
Category.find_by_slug('SLUG-CATEGORIA-ORIGINE').id
Category.find_by_slug('SLUG-CATEGORIA-DESTINAZIONE').id
exit
Sostituisci SLUG-CATEGORIA-ORIGINE e SLUG-CATEGORIA-DESTINAZIONE con gli slug della categoria di origine e di destinazione. I risultati saranno 2 ID.
Scusa per il ritardo nella risposta. Ho testato, eseguito e risolto il mio problema con questi passaggi. Grazie mille per il tuo aiuto.
Vorrei ricambiare in qualche modo (anche se le mie capacità di programmazione non sono eccellenti): esiste un modo per aggiungere una convalida che impedisca alle categorie di essere numeri? Vorrei dare una mano con questo.
Grazie, ma i nostri ingegneri hanno già una soluzione per impedire l’inserimento di numeri negli slug delle categorie. Come hai scoperto, attualmente avere “11” come nome della categoria va bene, ma lo slug della categoria dovrà essere modificato in qualcosa che non inizi con un numero, ad esempio cat-11.