Attributs utilisateur

Salut,

J’ai essayé d’exécuter des commandes dans rails c telles que User.find(1).update(ip_address: nil, topics_viewed: nil) pour mettre à jour les éléments de la liste ci-dessous - cependant, j’ai rencontré des erreurs :

Comment puis-je modifier ces valeurs ?

Merci.

Quelles erreurs obtenez-vous ?

Certaines de ces choses résident dans d’autres tables/modèles. Les adresses e-mail, par exemple, se trouvent dans leur propre table, vous devez donc les mettre à jour là-bas.

Quel problème résolvez-vous ?

2 « J'aime »

J’essaie juste de réinitialiser les statistiques, je veux me débarrasser de topics_viewed, posts_read, read_time et last_emailed. Pas intéressé par les détails de l’utilisateur car ils peuvent être modifiés via l’interface, seulement les valeurs qui affectent le profil de l’utilisateur mais ne peuvent pas être modifiées.

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.

1 « J'aime »

Dans ce cas, est-il possible de fusionner un compte administrateur via la console ? Je sais que ce n’est pas possible avec l’interface d’administration.

Supprimez simplement leurs privilèges d’administrateur et faites-le ?

Mais il semble que vous puissiez le faire avec une tâche rake : Merging user accounts

2 « J'aime »

Merci pour cela - je ne suis pas sûr qu’il soit possible de retirer les privilèges d’administrateur de l’administrateur d’origine.

S’il s’agit d’un développeur (défini dans app.yml), alors je pense que vous avez raison.

De plus, je viens de remarquer cette tâche rake !

rake destroy:stats

On dirait que cela pourrait faire ce que vous voulez.

1 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.