Как автоматически удалять из групп при снижении уровня доверия?

Мне приходится вручную проходить по пользователям и отключать их переопределение, которое кто-то им дал, но они всё ещё состоят в группах, хотя уровень доверия показывает 1-й уровень. Как сбросить группы так, чтобы в них были только люди с соответствующим уровнем доверия?

Если вы используете собственное размещение, это можно сделать через консоль Rails, но это немного сложно.

Вы можете увидеть, кто предоставил им переопределение, посмотрев /admin/logs.

Да, я использую самохостинг. Я знаю, кто это сделал, и у него больше нет доступа, кроме как уровень участника. К сожалению, нужно проверить около 300 записей. И хотя я удаляю их, они всё ещё отображаются как принадлежащие более высокой группе, хотя уровень доверия теперь 1. При этом нет способа удалить их из группы, так как она настроена автоматически.

Если группа автоматическая, то удалить их нельзя. О какой группе идет речь?

Их уровень доверия — 3. Но они не соответствуют требованиям для уровня доверия 3. Когда я их разблокирую, наверху отображается уровень доверия 1, уровень доверия 2. Однако многие из них не имеют уровня 3. Я бы предположил, что если они не соответствуют требованиям или понижаются в уровне, то они также должны быть удалены из группы. Считает ли система, что они всё ещё находятся на уровне 3, или учитывает текущий уровень доверия?

Это может сработать в консоли Rails

./launcher enter app
rails c

Затем выполните:

User.where(manual_locked_trust_level: 3).update_all(manual_locked_trust_level: nil, trust_level: 1)

Это найдёт всех пользователей, заблокированных на уровне доверия 3, снимет блокировку их уровня доверия и установит уровень доверия на 1.

Спасибо, Джей! Сработало.