Ils ne peuvent pas être modifiés car ils ne font pas partie du modèle utilisateur.
Il existe un modèle qui suit les sujets consultés par un utilisateur (TopicViewItem), vous devrez donc les effacer (peut-être TopicViewItem.destroy_all – non – cela ne fonctionne pas.) puis exécuter les mises à jour correspondantes. Et s’ils ont été envoyés par e-mail, la dernière fois qu’ils ont été envoyés par e-mail sera la dernière fois qu’ils ont été envoyés par e-mail.
Il existe un modèle PostTiming qui suit les publications lues et le temps de lecture. Ah, vous pouvez rechercher dans le code source PostTiming et trouver quelque chose comme
PostTiming.destroy_for(current_user.id, [topic_id])
C’est donc un début. Peut-être ceci :
PostTiming.destroy_for(1, PostTiming.where(user_id: 1).pluck(:topic_id).uniq))
Il existe des tâches ensureconsistency qui pourraient expliquer comment les mettre à jour, mais je ne suis pas tout à fait sûr.