Атрибуты пользователя

Их нельзя редактировать, потому что они не входят в модель пользователя.

Существует модель TopicViewItem, которая отслеживает, какие темы просмотрел пользователь, поэтому вам нужно очистить эти записи (возможно, TopicViewItem.destroy_all — нет, это не сработает), а затем запустить соответствующие обновления. Если они были отправлены по электронной почте, то время последней отправки останется прежним.

Существует модель PostTiming, которая отслеживает, какие сообщения прочитаны, и время чтения. Ах, вы можете поискать в исходном коде PostTiming и найти что-то вроде

      PostTiming.destroy_for(current_user.id, [topic_id])

Так что это уже начало. Возможно, так:

      PostTiming.destroy_for(1, PostTiming.where(user_id: 1).pluck(:topic_id).uniq))

Существуют задачи ensureconsistency, которые могут использоваться для обновления этих данных, но я не совсем уверен.