Модерация
Очередь строк, ожидающих одобрения. Включите её у таблицы — и всё созданное там будет попадать на проверку, а не уходить сразу наружу.
Как включить
Один флаг у таблицы: Модерируемая.
Сами строки помечаются колонкой moderation_at — моментом попадания в очередь. В этом и весь механизм: отметка времени, а не поле статуса с тремя значениями.
Очередь
PageBlocks → Модерация показывает всё ожидающее, по всем модерируемым таблицам сразу. Каждая запись называет объект и его автора, чтобы модератору не приходилось открывать строку ради понимания, что это.
Одобрение помечает строку проверенной, дальше она ведёт себя как любая другая.
Таблица без колонки тоже работает
moderation_at добавляется миграцией, и у таблицы, созданной раньше, этой колонки нет. Вместо падения компонент переходит на временное окно: строки моложе N дней считаются очередью, старше — архивом.
Поэтому на старой таблице очередь ведёт себя странно
Без колонки нет записи о том, когда строку проверили, — есть только когда её создали. На такой таблице одобренная строка выпадает из очереди по возрасту, а не по решению. Добавление колонки чинит это для новых строк.
Чем модерация не является
Она не прячет строку с фронта. Строка в очереди — обычная строка: если ваш шаблон её выводит, посетители её видят.
Если модерация должна означать «пока не показывать», сочетайте её с публикацией: создавать неопубликованным, публиковать при одобрении. Очередь отслеживает проверку, published_at — видимость. Разделение намеренное: правка одобренной строки может уйти на повторную проверку, не исчезая тем временем с сайта.