Ho questo problema da un mese; ma ho provato diverse volte ad aggiornare; migrare il database su uno nuovo; ecc… senza successo.
Era nell’utente admin; ho provato a migrare i dati dell’admin su uno nuovo; stesso problema.. non riesco ad aprire le preferenze o il profilo e ottengo 404;
Ho visto lo stesso problema ma nessuno spiega come risolverlo ed è piuttosto vecchio, risale a 3 anni fa.
stesso problema e menzionano che è stato risolto ma è troppo vecchio e nessuno spiega come risolvere.
Sembra essere lo stesso problema che hai segnalato in precedenza. Allego l’altro argomento qui nel caso ci siano più informazioni che possano aiutare a capire cosa è andato storto:
Non sono sicuro di aver capito al 100%. Il problema è che non riesci ad accedere alla schermata di amministrazione?
E pensi che questo possa essere dovuto ad alcuni badge personalizzati? Anche altri utenti con i badge personalizzati sono interessati? Se è così, potresti revocare i badge personalizzati o eliminarli del tutto?
Non credo ci sia un semplice “ripristino” che puoi fare per i badge, nemmeno dalla console di Rails.
A che punto sei arrivato con la query di Data Explorer raccomandata nell’altro argomento? Sei riuscito a individuare quale immagine del badge sta causando il problema?
Dopo un po’ di sperimentazione, posso replicare questo glitch (o possibilmente qualcosa di simile). Ho provato a usare la console per inserire un valore “null” in image_upload_id nella tabella Badge, e invece l’ha riempito con 0. Questo ha bloccato il mio sito di test in un modo molto simile a quello che hai descritto.
L’ho “risolto” cambiando tutti gli image_upload_id in ‘1’. Questo mi ha permesso di tornare al mio profilo e alla sezione Badge, ma ora devo scambiare manualmente tutti i badge per mostrarli solo come icona, ecc.
Per verificare se il tuo è un problema simile, puoi accedere al tuo data-explorer e creare una nuova query incollando questo (ed eseguendola):
Select name, image_upload_id
FROM badges b
Order By id desc
Ho anche capito che vuole ‘nil’ e non ‘null’ nella console per funzionare correttamente.
Questo ha risolto i miei elementi danneggiati senza doverli esaminare tutti manualmente:
Badge.where('image_upload_id=0').find_each do |b|
b.image_upload_id = nil
b.save
end
Senza sapere esattamente qual è il problema con il tuo, non posso dire con certezza che risolverà il tuo allo stesso modo, anche se forse un “cambia tutto a nil” potrebbe funzionare per te?
La query di esplorazione dati non risolverà il problema, ma le informazioni che ha fornito potrebbero esserlo.
Se ti trovi a tuo agio nell’usare la console Rails, potresti provare quanto segue per reimpostare quei 17 a null: (non dimenticare di fare un backup, non si sa mai)
Naviga alla console Rails:
cd /var/discourse
./launcher enter app
rails c
Incolla questo:
Badge.where('image_upload_id=17').find_each do |b|
b.image_upload_id = nil
b.save
end
E speriamo che questo sblocchi la sezione Badge e il profilo in modo che tu possa ricominciare da capo.