Continuando a discussão de Usando topic.destroy(id) para excluir conteúdo ilegal:
Inseguro sobre como remover este tópico, pois ele retorna um erro.
![]()
Assim que este tópico for removido, a categoria também será removida.
Continuando a discussão de Usando topic.destroy(id) para excluir conteúdo ilegal:
Inseguro sobre como remover este tópico, pois ele retorna um erro.
![]()
Assim que este tópico for removido, a categoria também será removida.
Mova o tópico para outra categoria. Se deseja que este tópico não seja visível, mova-o para uma categoria privada, como ‘staff’, por exemplo. O tópico será excluído automaticamente após o tempo definido para sua exclusão completa.
Tentei mover, mas vejo: Desculpe, ocorreu um erro.
Mensagem
NoMethodError (método não definido revise' 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’
Rastreamento de volta
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
Não tenho certeza. Com a mudança do tópico, se você tentou selecionar as mensagens e mover,
Tente simplesmente editar o título do tópico e alterar a categoria lá. Se o tópico foi excluído, talvez seja necessário recuperá-lo para editar o título.
Consegui editar o título do tópico. Ele não será movido nem excluído. Percebo que a categoria do tópico mudará se eu tentar migrá-lo, mas voltará ao estado original instantaneamente.
Na verdade, há dois tópicos nesta categoria.
https://discuss.noisebridge.info/c/about/3
https://discuss.noisebridge.info/t/post/2
Não mostra opção de exclusão. Não será movido. Consegui alterar o título do tópico.
Tópico com link quebrado em categoria diferente
Vejo que esta postagem também não pode ser excluída. Se você tentar excluí-la, ficará vermelha e não fará nada.
https://discuss.noisebridge.info/t/about/1992/1
Esta é a descrição da categoria. Mostra -1 respostas e não consigo abri-la.
:( Erro ao tentar carregar. Algo deu errado.
Obrigado pela ajuda!
Certo, estou vendo 3 erros no log. Eles são:
1º erro
Mensagem
ActiveRecord::StatementInvalid (PG::UndefinedTable: ERRO: a relação “categories” não 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’
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 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’
Env
HTTP HOSTS: discuss.noisebridge.info
2º erro
Mensagem (3 cópias relatadas)
ActiveRecord::StatementInvalid (PG::UndefinedTable: ERRO: a relação “categories” não 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’
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 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’
Env
HTTP HOSTS: discuss.noisebridge.info
3º erro
Mensagem
Exceção de Job: PG::UndefinedTable: ERRO: a relação “application_requests” não existe
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)
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’
Se eu tivesse que adivinhar, você configurou seu Discourse recentemente?
Sempre há uma postagem na “Categoria Sobre” criada no momento da criação da categoria. A outra postagem parece ser uma das postagens iniciais do sistema de configuração. Se você reutilizou uma das categorias especiais iniciais.
Pode ser necessário alguém com mais conhecimento. @codinghorror ou um dos membros da equipe.
Pelo que vi, você tem um layout bem agradável.
Quando eu acesso https://discuss.noisebridge.info/c/about/3, vejo dois tópicos. Minha suposição é de que o tópico com o título ‘About’ é o tópico ‘About’ da categoria About. O título original do tópico provavelmente era ‘Sobre a categoria About’.
O Discourse cria automaticamente um tópico ‘About’ para cada categoria que você cria no site. Esse tópico não precisa ser excluído antes que você possa excluir a categoria. Se tudo estiver funcionando corretamente no seu site, você deverá conseguir excluir o outro tópico que está na categoria e, em seguida, excluir a categoria.
Se isso não estiver funcionando para você, é possível que o tópico About tenha entrado em um estado estranho — ele está sendo exibido na interface como tendo -1 respostas, o que sugere que algo deu errado com ele. Possivelmente, você excluiu a primeira postagem do tópico pelo backend do seu site. Se for esse o caso e você agora não conseguir excluir a categoria, avise-nos e tentaremos encontrar uma solução.
Sim, ela já vem pré-seedada. Estou tentando me livrar dela transferindo todas as postagens para nossa categoria geral com a tag site-feedback.
Quando tento excluir a categoria, vejo:
Não é possível excluir esta categoria porque ela possui 1 tópico. O tópico mais antigo é Sobre.
Esses erros mencionados acima são úteis? Obrigado pelo feedback.
O que você vê ao executar o seguinte no console Rails do seu site:
Category.find 3
O ID da categoria com o problema é 3. O que estou querendo saber é qual é o valor da propriedade topic_id para essa categoria.
#<Category:0x000055cde953bee0
id: 3,
name: “Sobre”,
color: “231F20”,
topic_id: 2,
topic_count: 1,
created_at: Qui, 06 Dez 2018 07:19:46 UTC +00:00,
updated_at: Qui, 31 Dez 2020 05:33:14 UTC +00:00,
user_id: -1,
topics_year: 1,
topics_month: 0,
topics_week: 0,
slug: “sobre”,
description: “Tudo sobre o uso do Discuss e como adicionar suas sugestões para melhorá-lo.”,
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: “sobre”,
auto_close_based_on_last_post: false,
topic_template:
“## Curioso sobre nosso fórum? Quer saber mais?\nCertifique-se de consultar nossa wiki para qualquer informação que não encontrar aqui.\n\n@help entrará em contato com nossos voluntários prestativos.
\n@staff entrará em contato com todos os moderadores e administradores. Lembre-se, eles são voluntários. :thank_you: \n\nSe você está procurando ajuda em um projeto, verifique nossa 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
Tenho o mesmo problema. Meu ID de categoria é 89 (então não é um número estranho), e a contagem de tópicos é 1, apesar de ter apenas um tópico sobre “Sobre”.
A categoria me deu problemas. Ela é uma subcategoria e, por algum motivo, nenhuma de suas postagens aparecia na lista da categoria principal (as outras subcategorias estavam funcionando). Então, decidi mover os tópicos para uma nova subcategoria, o que funcionou bem. Um tópico não pôde ser movido. Acredito que esse era o culpado, então o excluí via console.
Estou supondo que a contagem não tenha sido atualizada durante esse processo, deixando-me com esse problema.
Como você sugere que eu remova essa categoria chata e agora inexistente sem causar mais problemas?