No se puede eliminar esta categoría porque tiene 1 tema

Continuando la discusión de Usar topic.destroy(id) para eliminar contenido ilegal:

No estoy seguro de cómo eliminar este tema, ya que devuelve un error.

1-topic

Una vez que se elimine este tema, también se eliminará la categoría.

2 Me gusta

Mueve el tema a otra categoría. Si quieres que este tema no sea visible, muévelo a una categoría privada, como la de personal, por ejemplo. El tema se eliminará automáticamente una vez que haya pasado el tiempo establecido para su eliminación completa.

Intenté moverlo, pero veo: Lo sentimos, ha ocurrido un error.

Resumen

Mensaje

NoMethodError (método revise no definido para 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’

Traza de retroceso

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’

Entorno

HOSTS HTTP: discuss.noisebridge.info

2 Me gusta

No estoy seguro. Con el traslado del tema, si intentaste seleccionar los mensajes y moverlos,

Intenta simplemente editar el título del tema y cambiar la categoría allí. Si el tema ha sido eliminado, es posible que necesites restaurarlo para editar el título.

Pude editar el título del tema. No se moverá ni se eliminará. Veo que la categoría del tema cambiará si intento migrarla, pero luego se revertirá inmediatamente un instante después.

En realidad, hay dos temas en la categoría.

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

  1. https://discuss.noisebridge.info/t/post/2
    No muestra ninguna opción para eliminar. No se moverá. Pude cambiar el título del tema.

    • Anteriormente se dividió en un segundo tema en otra categoría.
  2. Tema enlazado roto en otra categoría
    Veo que esta publicación tampoco se puede eliminar. Si intentas eliminarla, se pondrá roja y no irá a ningún lado.

  3. https://discuss.noisebridge.info/t/about/1992/1
    Esta es la descripción de la categoría. Muestra -1 respuestas y no puedo abrirla.
    :( Error al intentar cargar. Algo salió mal.

¡Gracias por la ayuda!

1 me gusta

Está bien, veo 3 errores en el registro. Son:

1er error

Resumen

Mensaje

ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: la relación “categories” no existe
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’

Pila de seguimiento

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 levels) 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 levels) in log' activesupport (6.0.3.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in block (2 levels) in synchronize’

Entorno

HTTP HOSTS: discuss.noisebridge.info

2do error

Resumen

Mensaje (3 copias reportadas)

ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: la relación “categories” no existe
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’

Pila de seguimiento

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 levels) 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 levels) in log' activesupport (6.0.3.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in block (2 levels) in synchronize’

Entorno

HTTP HOSTS: discuss.noisebridge.info

3er error

Resumen

Mensaje

Excepción del trabajo: PG::UndefinedTable: ERROR: la relación “application_requests” no existe
LINE 1: SELECT “application_requests”.“id” FROM "application_request…
^

Pila de seguimiento

/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 levels) 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 levels) 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 levels) in synchronize’

1 me gusta

Si tuviera que adivinar, recientemente configuraste tu Discourse.

Siempre se crea una publicación “Acerca de la categoría” al momento de crear la categoría. La otra publicación parece ser una de las publicaciones iniciales del sistema de configuración. Si reutilizaste una de las categorías especiales iniciales.

Puede que necesites a alguien con más conocimiento. @codinghorror o alguien del equipo.

Por lo que vi, tienes un diseño muy agradable.

1 me gusta

Cuando voy a https://discuss.noisebridge.info/c/about/3, veo dos temas. Supongo que el tema con el título “About” es el tema “About” de la categoría About. Probablemente el título original del tema era “Sobre la categoría About”.

Discourse crea automáticamente un tema “About” para cada categoría que creas en el sitio. Este tema no necesita ser eliminado antes de poder eliminar la categoría. Si todo funciona correctamente en tu sitio, deberías poder eliminar el otro tema que está en la categoría y luego eliminar la categoría.

Si esto no te funciona, es posible que el tema About haya entrado en un estado extraño: en la interfaz de usuario aparece con -1 respuestas, lo que sugiere que algo ha fallado con él. Posiblemente hayas eliminado la primera publicación del tema desde el backend de tu sitio. Si ese es el caso y ahora no puedes eliminar la categoría, avísanos y trataremos de encontrar una solución.

3 Me gusta

Sí, está pre-seedada. Estoy intentando eliminarla transfiriendo todas las publicaciones a nuestra categoría general con la etiqueta site-feedback.

Cuando intento eliminar la categoría veo:

No se puede eliminar esta categoría porque tiene 1 tema. El tema más antiguo es Acerca de.

¿Son útiles los errores mencionados anteriormente? Gracias por tu retroalimentación.

2 Me gusta

¿Qué ves si ejecutas lo siguiente desde la consola de Rails de tu sitio:

Category.find 3

El ID de la categoría con el problema es 3. Lo que me pregunto es cuál es el valor de la propiedad topic_id para esa categoría.

2 Me gusta
Resultado de Category.find 3 en Rails

#<Category:0x000055cde953bee0
id: 3,
name: “Acerca de”,
color: “231F20”,
topic_id: 2,
topic_count: 1,
created_at: jue, 06 dic 2018 07:19:46 UTC +00:00,
updated_at: jue, 31 dic 2020 05:33:14 UTC +00:00,
user_id: -1,
topics_year: 1,
topics_month: 0,
topics_week: 0,
slug: “acerca-de”,
description: “Todo sobre el uso de Discuss y cómo agregar tus sugerencias para mejorarlo.”,
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: “acerca-de”,
auto_close_based_on_last_post: false,
topic_template:
“## ¿Curioso sobre nuestro foro? ¿Quieres saber más?\nAsegúrate de consultar nuestra wiki para cualquier información que no encuentres aquí.\n\n@help pondrá en contacto con nuestros voluntarios de ayuda. :smiling_face_with_three_hearts: \n@staff pondrá en contacto con todos los moderadores y administradores. Recuerda que son voluntarios. :thank_you: \n\nSi buscas ayuda sobre un proyecto, consulta nuestra categoría #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: “filas_con_temas_destacados”,
default_top_period: “todo”,
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: “todo”>

topic_id 2

1 me gusta

Tengo el mismo problema. Mi ID de categoría es 89 (así que no es algo raro), el recuento de temas es 1 a pesar de tener solo un tema de ‘Acerca de’.

La categoría me dio problemas. Es una subcategoría y, por alguna razón, ninguna de sus publicaciones aparecía en la lista de la categoría principal (las otras subcategorías estaban bien). Así que decidí mover los temas a una nueva subcategoría, lo cual funcionó bien. No se pudo mover un tema. Asumí que ese era el culpable y lo eliminé desde la consola.

Supongo que el recuento no cambió al hacer esto, dejándome con este problema.

¿Qué me sugieres para eliminar esta categoría molesta y ahora obsoleta sin causar más problemas?

3 Me gusta