Для некоторых групп, где существуют «призраки сообщений», это не работает. Эти группы можно идентифицировать с помощью следующего запроса (при условии, что в настройках взаимодействия группы ограничена возможность отправки сообщений):
SELECT id, name, has_messages, messageable_level
From groups
Where messageable_level < 10
AND messageable_level <> 3
AND has_messages = true
ORDER by id
Вы можете вручную изменить таблицу groups, чтобы принудительно сбросить это значение (конечно, в консоли Rails, предварительно сделав резервную копию!).
Group.where(id: XXX).update_all(has_messages: false)
Если это не сработает или изменения отменятся, возможно, вам также потребуется очистить таблицы topic_groups и topic_allowed_groups:
TopicGroup.where(group_id: XXX).destroy_all
TopicAllowedGroup.where(group_id: XXX).destroy_all