Impossibile eliminare questa categoria perché contiene 1 argomento

Continuando la discussione da Utilizzo di topic.destroy(id) per eliminare contenuti illegali:

Non sono sicuro di come rimuovere questo argomento, poiché restituisce un errore.

1-topic

Una volta rimosso questo argomento, anche la categoria verrà eliminata.

Sposta l’argomento in un’altra categoria. Se desideri che questo argomento non sia visibile, spostalo in una categoria privata, ad esempio quella per lo staff. L’argomento verrà eliminato automaticamente una volta scaduto il tempo stabilito per la cancellazione completa.

Ho provato a spostare, ma vedo: Spiacente, si è verificato un errore.

Riepilogo

Messaggio

NoMethodError (metodo revise non definito per nil:NilClass)
lib/topics_bulk_action.rb:101:in block in change_category' lib/topics_bulk_action.rb:98:in change_category’
lib/topics_bulk_action.rb:28:in perform!' app/controllers/topics_controller.rb:879:in bulk’
app/controllers/application_controller.rb:358:in block in with_resolved_locale' app/controllers/application_controller.rb:358:in with_resolved_locale’
lib/middleware/omniauth_bypass_middleware.rb:68:in call' lib/content_security_policy/middleware.rb:12:in call’
lib/middleware/anonymous_cache.rb:354:in call' config/initializers/100-quiet_logger.rb:23:in call’
config/initializers/100-silence_logger.rb:31:in call' lib/middleware/enforce_hostname.rb:22:in call’
lib/middleware/request_tracker.rb:176:in `call’

Backtrace

lib/topics_bulk_action.rb:101:in block in change_category' activerecord (6.0.3.3) lib/active_record/relation/delegation.rb:87:in each’
activerecord (6.0.3.3) lib/active_record/relation/delegation.rb:87:in each' lib/topics_bulk_action.rb:98:in change_category’
lib/topics_bulk_action.rb:28:in perform!' app/controllers/topics_controller.rb:879:in bulk’
actionpack (6.0.3.3) lib/action_controller/metal/basic_implicit_render.rb:6:in send_action' actionpack (6.0.3.3) lib/abstract_controller/base.rb:195:in process_action’
actionpack (6.0.3.3) lib/action_controller/metal/rendering.rb:30:in process_action' actionpack (6.0.3.3) lib/abstract_controller/callbacks.rb:42:in block in process_action’

Ambiente

HTTP HOSTS: discuss.noisebridge.info

Non sono sicuro. Con lo spostamento dell’argomento, se hai provato a selezionare i messaggi e spostarli

Prova semplicemente a modificare il titolo dell’argomento e cambiare la categoria lì. Se l’argomento è stato eliminato, potrebbe essere necessario ripristinarlo per modificare il titolo.

Sono riuscito a modificare il titolo dell’argomento. Non si sposta né viene eliminato. Vedo che la categoria dell’argomento cambierebbe se tentassi di spostarlo, per poi tornare immediatamente indietro un attimo dopo.

In realtà ci sono due argomenti in questa categoria.

https://discuss.noisebridge.info/c/about/3

  1. https://discuss.noisebridge.info/t/post/2
    Non mostra l’opzione per eliminare. Non si sposta. Sono riuscito a cambiare il titolo dell’argomento.

    • In precedenza è stato diviso in un secondo argomento in un’altra categoria.
  2. Argomento con link rotto in un’altra categoria
    Vedo che anche questo post non può essere eliminato. Se provi a eliminarlo, diventa rosso e non succede nulla.

  3. https://discuss.noisebridge.info/t/about/1992/1
    Questa è la descrizione della categoria. Mostra -1 risposte e non riesco ad aprirla.
    :( Errore durante il caricamento. Qualcosa è andato storto.

Grazie per l’assistenza!

Ok, vedo 3 errori nel log. Sono:

1° errore

Riepilogo

Messaggio

ActiveRecord::StatementInvalid (PG::UndefinedTable: ERRORE: la relazione “categories” non esiste
LINE 1: SELECT categories.*, t.slug topic_slug FROM “categories” LEF…
^
)
(eval):105:in exec_params' app/models/site.rb:40:in categories’
app/models/site.rb:12:in initialize' app/models/site.rb:113:in new’
app/models/site.rb:113:in json_for' app/controllers/application_controller.rb:552:in preload_anonymous_data’
app/controllers/application_controller.rb:378:in preload_json' app/controllers/application_controller.rb:358:in block in with_resolved_locale’
app/controllers/application_controller.rb:358:in with_resolved_locale' lib/middleware/omniauth_bypass_middleware.rb:68:in call’
lib/content_security_policy/middleware.rb:12:in call' lib/middleware/anonymous_cache.rb:352:in call’
config/initializers/100-quiet_logger.rb:23:in call' config/initializers/100-silence_logger.rb:31:in call’
lib/middleware/enforce_hostname.rb:22:in call' lib/middleware/request_tracker.rb:176:in call’

Backtrace

rack-mini-profiler (2.2.0) lib/patches/db/pg.rb:69:in exec_params' rack-mini-profiler (2.2.0) lib/patches/db/pg.rb:69:in exec_params’
(eval):105:in exec_params' activerecord (6.0.3.3) lib/active_record/connection_adapters/postgresql_adapter.rb:675:in block (2 livelli) in exec_no_cache’
activesupport (6.0.3.3) lib/active_support/dependencies/interlock.rb:48:in block in permit_concurrent_loads' activesupport (6.0.3.3) lib/active_support/concurrency/share_lock.rb:187:in yield_shares’
activesupport (6.0.3.3) lib/active_support/dependencies/interlock.rb:47:in permit_concurrent_loads' activerecord (6.0.3.3) lib/active_record/connection_adapters/postgresql_adapter.rb:674:in block in exec_no_cache’
activerecord (6.0.3.3) lib/active_record/connection_adapters/abstract_adapter.rb:722:in block (2 livelli) in log' activesupport (6.0.3.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in block (2 livelli) in synchronize’

Ambiente

HTTP HOSTS: discuss.noisebridge.info

2° errore

Riepilogo

Messaggio (3 copie riportate)

ActiveRecord::StatementInvalid (PG::UndefinedTable: ERRORE: la relazione “categories” non esiste
LINE 1: SELECT categories.*, t.slug topic_slug FROM “categories” LEF…
^
)
(eval):105:in exec_params' app/models/site.rb:40:in categories’
app/models/site.rb:12:in initialize' app/models/site.rb:113:in new’
app/models/site.rb:113:in json_for' app/controllers/application_controller.rb:552:in preload_anonymous_data’
app/controllers/application_controller.rb:378:in preload_json' app/controllers/application_controller.rb:358:in block in with_resolved_locale’
app/controllers/application_controller.rb:358:in with_resolved_locale' lib/middleware/omniauth_bypass_middleware.rb:68:in call’
lib/content_security_policy/middleware.rb:12:in call' lib/middleware/anonymous_cache.rb:352:in call’
config/initializers/100-quiet_logger.rb:23:in call' config/initializers/100-silence_logger.rb:31:in call’
lib/middleware/enforce_hostname.rb:22:in call' lib/middleware/request_tracker.rb:176:in call’

Backtrace

rack-mini-profiler (2.2.0) lib/patches/db/pg.rb:69:in exec_params' rack-mini-profiler (2.2.0) lib/patches/db/pg.rb:69:in exec_params’
(eval):105:in exec_params' activerecord (6.0.3.3) lib/active_record/connection_adapters/postgresql_adapter.rb:675:in block (2 livelli) in exec_no_cache’
activesupport (6.0.3.3) lib/active_support/dependencies/interlock.rb:48:in block in permit_concurrent_loads' activesupport (6.0.3.3) lib/active_support/concurrency/share_lock.rb:187:in yield_shares’
activesupport (6.0.3.3) lib/active_support/dependencies/interlock.rb:47:in permit_concurrent_loads' activerecord (6.0.3.3) lib/active_record/connection_adapters/postgresql_adapter.rb:674:in block in exec_no_cache’
activerecord (6.0.3.3) lib/active_record/connection_adapters/abstract_adapter.rb:722:in block (2 livelli) in log' activesupport (6.0.3.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in block (2 livelli) in synchronize’

Ambiente

HTTP HOSTS: discuss.noisebridge.info

3° errore

Riepilogo

Messaggio

Eccezione del job: PG::UndefinedTable: ERRORE: la relazione “application_requests” non esiste
LINE 1: SELECT “application_requests”.“id” FROM "application_request…
^

Backtrace

/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.2.0/lib/patches/db/pg.rb:69:in exec_params' /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.2.0/lib/patches/db/pg.rb:69:in exec_params’
(eval):100:in exec_params' /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql_adapter.rb:675:in block (2 livelli) in exec_no_cache’
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies/interlock.rb:48:in block in permit_concurrent_loads' /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/share_lock.rb:187:in yield_shares’
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/dependencies/interlock.rb:47:in permit_concurrent_loads' /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql_adapter.rb:674:in block in exec_no_cache’
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:722:in block (2 livelli) in log' /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in block (2 livelli) in synchronize’

Se dovessi indovinare, hai appena configurato il tuo Discourse.

Viene sempre creato un post “Categoria Informazioni” al momento della creazione della categoria. L’altro post sembra uno dei post di sistema iniziali. Se hai riutilizzato una delle categorie speciali iniziali.

Potrebbe essere necessario qualcuno con maggiori conoscenze. @codinghorror o un membro del team.

Dalla mia visione, hai un layout molto gradevole.

Quando vado su https://discuss.noisebridge.info/c/about/3, vedo due argomenti. La mia ipotesi è che l’argomento con il titolo “About” sia l’argomento “About” della categoria About. Il titolo originale dell’argomento era probabilmente “About della categoria About”.

Discourse crea automaticamente un argomento “About” per ogni categoria che crei sul sito. Questo argomento non deve essere eliminato prima di poter eliminare la categoria. Se tutto sul tuo sito funziona correttamente, dovresti essere in grado di eliminare l’altro argomento presente nella categoria e poi eliminare la categoria stessa.

Se questo non funziona per te, potrebbe essere perché l’argomento About è finito in uno stato anomalo: nell’interfaccia utente mostra -1 risposte, quindi sembra che qualcosa sia andato storto. È possibile che tu abbia eliminato il primo post dell’argomento dal backend del tuo sito. Se è così e ora non riesci a eliminare la categoria, faccelo sapere e cercheremo di trovare una soluzione.

Sì, è pre-inserito. Sto cercando di eliminarlo trasferendo tutti i post alla nostra categoria generale con il tag site-feedback.

Quando provo a eliminare la categoria vedo:

Impossibile eliminare questa categoria perché contiene 1 argomento. L’argomento più vecchio è About.

Sono utili gli errori riportati sopra? Grazie per il feedback.

Cosa vedi se esegui il seguente comando dalla console Rails del tuo sito:

Category.find 3

L’ID della categoria con il problema è 3. Mi chiedo qual è il valore della proprietà topic_id per quella categoria.

Category.find 3 rails output

#<Category:0x000055cde953bee0
id: 3,
name: “About”,
color: “231F20”,
topic_id: 2,
topic_count: 1,
created_at: Thu, 06 Dec 2018 07:19:46 UTC +00:00,
updated_at: Thu, 31 Dec 2020 05:33:14 UTC +00:00,
user_id: -1,
topics_year: 1,
topics_month: 0,
topics_week: 0,
slug: “about”,
description: “Tutto sull’utilizzo di Discuss e sull’aggiunta dei tuoi suggerimenti per migliorarlo.”,
text_color: “Ff0000”,
read_restricted: false,
auto_close_hours: nil,
post_count: 0,
latest_post_id: 9231,
latest_topic_id: 1992,
position: 1,
parent_category_id: nil,
posts_year: 0,
posts_month: 0,
posts_week: 0,
email_in: nil,
email_in_allow_strangers: false,
topics_day: 0,
posts_day: 0,
allow_badges: true,
name_lower: “about”,
auto_close_based_on_last_post: false,
topic_template:
"## Curioso del nostro forum? Vuoi saperne di più?\nAssicurati di consultare il nostro wiki per qualsiasi informazione non trovi qui.\n\n@help contatterà i nostri volontari disponibili. :smiling_face_with_three_hearts: \n@staff contatterà tutti i moderatori e gli amministratori. Ricorda, sono volontari. :thank_you: \n\nSe cerchi aiuto per un progetto, controlla la nostra categoria #projects. ",
contains_messages: nil,
sort_order: “”,
sort_ascending: nil,
uploaded_logo_id: 1349,
uploaded_background_id: nil,
topic_featured_link_allowed: true,
all_topics_wiki: true,
show_subcategory_list: false,
num_featured_topics: 5,
default_view: “”,
subcategory_list_style: “rows_with_featured_topics”,
default_top_period: “all”,
mailinglist_mirror: false,
minimum_required_tags: 0,
navigate_to_first_post_after_read: false,
search_priority: 0,
allow_global_tags: false,
reviewable_by_group_id: nil,
required_tag_group_id: nil,
min_tags_from_required_group: 1,
read_only_banner: “”,
default_list_filter: “all”>

topic_id 2

Ho lo stesso problema. Il mio ID categoria è 89 (quindi non è strano), ma il conteggio dei topic è 1 nonostante ci sia solo un topic ‘About’.

La categoria mi ha dato problemi. È una sottocategoria e, per qualche motivo, nessuno dei suoi post appariva nell’elenco della categoria principale (le altre sottocategorie andavano bene). Quindi ho deciso di spostare i topic in una nuova sottocategoria, il che ha funzionato bene. Un topic non è stato possibile spostarlo. Ho ipotizzato che fosse quello il colpevole e l’ho eliminato tramite la console.

Immagino che il conteggio non sia cambiato durante questa operazione, lasciandomi con questo problema.

Come mi suggerisci di rimuovere questa categoria fastidiosa e ormai inutilizzata senza causare ulteriori problemi?