Ho un argomento nel nostro database con un category_id la cui categoria è stata eliminata da qualcuno. Posso aprire questo argomento direttamente con il suo id:
url: …/t/3
Nella tabella topics l’id = 3 ha category = 4. Ma questa categoria è stata eliminata e non è presente nella tabella categories. Molti di questi argomenti persi sono riuscito a cancellarli. Ma questo non funziona, perché gli attributi closed e archived sono true.
Se scelgo nel menu a comparsa “Elimina definitivamente” questo argomento, ricevo il messaggio di errore:
“Si è verificato un errore: Questo argomento ha post non eliminati. Eliminarli definitivamente prima di eliminare definitivamente l’argomento.”
Qualche idea su come inserire una categoria fittizia con id 4 nel database o per eliminare questo argomento perso?
poiché questa categoria non è più disponibile, ma cosa è più importante: il collegamento a tutte le categorie nella barra laterale non funziona più.
Se provo ad aprire …/categories ricevo un messaggio di errore: “Errore Qualcosa è andato storto.” e nella console del browser viene visualizzato il messaggio di errore:
Uncaught TypeError: i is null
reason binary.js:7
l item.js:166
get topic.js:1017
ee upload.js:65
get topic.js:1017
get topic.js:1017
eM topic.js:1017
s backup-codes.js:33
n backup-codes.js:33
Z upload.js:65
T backup-codes.js:33
evaluate backup-codes.js:33
_execute backup-codes.js:33
execute backup-codes.js:33
rerender backup-codes.js:33
render theme-setting.js:6
_renderRoots theme-setting.js:6
tA backup-codes.js:33
_renderRoots theme-setting.js:6
_renderRootsTransaction theme-setting.js:6
_revalidate theme-setting.js:6
invoke client-error-handler.js:88
flush client-error-handler.js:88
flush client-error-handler.js:88
_end client-error-handler.js:88
end client-error-handler.js:88
_run client-error-handler.js:88
run client-error-handler.js:88
d bookmark.js:114
Ember 2
_join client-error-handler.js:88
join client-error-handler.js:88
p bookmark.js:114
h bookmark.js:114
$ topic.js:1017
trigger composer-action-title.js:62
transitionStarted add-translation.js:27
loading ace-editor.js:176
D upload.js:65
triggerEvent upload.js:65
trigger form-template-validation.js:54
_handleSlowTransition upload.js:65
invoke client-error-handler.js:88
flush client-error-handler.js:88
flush client-error-handler.js:88
_end client-error-handler.js:88
end client-error-handler.js:88
_runExpiredTimers client-error-handler.js:88
setTimeout handler*setTimeout client-error-handler.js:88
_installTimerTimeout client-error-handler.js:88
_later client-error-handler.js:88
later client-error-handler.js:88
T bookmark.js:114
_triggerAction form-template-validation.js:54
click form-template-validation.js:54
binary.js:7
Uncaught TypeError: i is null
reason binary.js:7
l item.js:166
get topic.js:1017
ee upload.js:65
get topic.js:1017
get topic.js:1017
eM topic.js:1017
s backup-codes.js:33
n backup-codes.js:33
Z upload.js:65
T backup-codes.js:33
evaluate backup-codes.js:33
_execute backup-codes.js:33
execute backup-codes.js:33
rerender backup-codes.js:33
render theme-setting.js:6
_renderRoots theme-setting.js:6
tA backup-codes.js:33
_renderRoots theme-setting.js:6
_renderRootsTransaction theme-setting.js:6
_revalidate theme-setting.js:6
invoke client-error-handler.js:88
flush client-error-handler.js:88
flush client-error-handler.js:88
_end client-error-handler.js:88
end client-error-handler.js:88
_run client-error-handler.js:88
run client-error-handler.js:88
d bookmark.js:114
success base.js:71
l loader.js:1286
fireWith loader.js:1286
jQuery 4
a base.js:71
e named-references.js:49
e named-references.js:49
A base.js:71
_findCategoriesAndTopics item.js:166
k named-references.js:49
w named-references.js:49
invoke client-error-handler.js:88
flush client-error-handler.js:88
flush client-error-handler.js:88
_end client-error-handler.js:88
end client-error-handler.js:88
_runExpiredTimers client-error-handler.js:88
setTimeout handler*setTimeout client-error-handler.js:88
_installTimerTimeout client-error-handler.js:88
_later client-error-handler.js:88
later client-error-handler.js:88
T bookmark.js:114
_triggerAction form-template-validation.js:54
click form-template-validation.js:54
TypeError: t.category_list.categories è indefinito
s form-template-validation.js:54
categoriesFrom form-template-validation.js:54
_findCategoriesAndTopics item.js:166
k named-references.js:49
w named-references.js:49
invoke client-error-handler.js:88
flush client-error-handler.js:88
flush client-error-handler.js:88
_end client-error-handler.js:88
end client-error-handler.js:88
_run client-error-handler.js:88
run client-error-handler.js:88
d bookmark.js:114
success base.js:71
l loader.js:1286
fireWith loader.js:1286
jQuery 4
a base.js:71
e named-references.js:49
e named-references.js:49
A base.js:71
_findCategoriesAndTopics item.js:166
k named-references.js:49
w named-references.js:49
invoke client-error-handler.js:88
flush client-error-handler.js:88
flush client-error-handler.js:88
_end client-error-handler.js:88
end client-error-handler.js:88
_runExpiredTimers client-error-handler.js:88
setTimeout handler*setTimeout client-error-handler.js:88
_installTimerTimeout client-error-handler.js:88
_later client-error-handler.js:88
later client-error-handler.js:88
…
Sembra che qualcuno abbia cancellato la categoria quando in qualche modo conteneva argomenti? Non dovrebbe succedere. Penso che dovrai fare qualcosa del genere:
rails c
c=Category.last; # oppure un altro modo per ottenere una categoria)
Topic.where(category_id: 4).update_all(category_id: c.id)
Se la tua categoria General è stata eliminata in modo sicuro tramite l’interfaccia utente, è previsto che l’argomento About venga eliminato in modo “soft” come stai vedendo. Non dovrebbe causare alcun problema.
Penso che ci possa essere qualcos’altro in gioco. Ci sono altri dettagli su quell’errore nella tua pagina /logs?
Select id, closed, archived, title,category_id
from topics
where id = '3'
result:
id closed archived title category
3 true true Über die Kategorie Team 4
Hmm. Pensavo che il tuo argomento interrotto avesse category_id 4.
Quella era la mia migliore ipotesi. Se hai un budget, potresti chiedere aiuto in Marketplace. Penso che avrai bisogno di qualcuno che entri in rails per vedere se riesce a capirlo.
Marketplace è sempre un’opzione, soprattutto se è urgente.
Anche se un po’ più di dettaglio qui potrebbe aiutare a stimolare una risposta dalla community.
Sembrate entrambi sicuri che la causa principale sia questo argomento. Se l’esploratore di dati riesce a trovarlo, allora dovreste essere in grado di trovarlo nella console di Rails. Se riuscite a trovarlo, dovreste essere in grado di usare post_destroyer su di esso ed eliminarlo da lì?
(Anche se sono un po’ titubante a raccomandarlo poiché non ho ancora collegato i punti su dove sia il problema)
[citazione=“JammyDodger, post:8, topic:367811”]
Se riesci a trovarlo, dovresti essere in grado di usare post_destroyer su di esso ed eliminarlo da lì?
[/citazione]
come puoi vedere, trovare è possibile. Ma non ho idea della sintassi Ruby per eliminare esattamente questa singola voce della tabella.
Hmm. È insolito riuscire a trovarlo in un modo e non nell’altro.
La console di Rails può essere un po’ un coltello affilato, quindi sarebbe meglio capire cosa è andato storto per minimizzare eventuali incidenti/effetti a catena.
Come è stata eliminata questa categoria in primo luogo?
(Nel caso in cui il problema non sia causato da questo argomento errante, includerò le basi per controllare la modalità sicura e vedere se ci sono altre informazioni sull’errore nella tua pagina YourSite/logs)
Anche se non so se i tuoi dati sono in uno stato in cui il catch-all per l’eliminazione delle categorie potrebbe aiutare? Bulk delete all topics in a category
Purtroppo, questo non risolve l’errore con il link della categoria. Ma il problema con il post non eliminabile è risolto per ora. Il problema della categoria non viene registrato nemmeno nel log. Affronterò la questione nei prossimi giorni.