Benutzerattribute

Hallo,

Ich habe versucht, Befehle in rails c wie User.find(1).update(ip_address: nil, topics_viewed: nil) auszuführen, um die Dinge in der folgenden Liste zu aktualisieren – jedoch habe ich immer wieder Fehler erhalten:

Wie kann ich diese Werte ändern?

Danke.

Welche Fehler erhalten Sie?

Einige dieser Dinge befinden sich in anderen Tabellen/Modellen. E-Mail-Adressen befinden sich beispielsweise in einer eigenen Tabelle, sodass Sie diese dort aktualisieren müssen.

Welches Problem lösen Sie?

2 „Gefällt mir“

Ich versuche nur, Statistiken zurückzusetzen, möchte topics_viewed, posts_read, read_time und last_emailed loswerden. Ich interessiere mich nicht für Benutzerdetails, da diese über die Benutzeroberfläche geändert werden können, nur für die Werte, die das Benutzerprofil beeinflussen, aber nicht bearbeitet werden können.

Sie können nicht bearbeitet werden, da sie nicht Teil des Benutzermodells sind.

Es gibt ein Modell, das verfolgt, welche Themen ein Benutzer angesehen hat (TopicViewItem), daher müssten Sie diese löschen (vielleicht TopicViewItem.destroy_all – nein – das funktioniert nicht.) und dann die Aktualisierungen ausführen. Und wenn sie per E-Mail versendet wurden, ist die letzte E-Mail-Zeit die letzte E-Mail-Zeit.

Es gibt ein PostTiming-Modell, das verfolgt, welche Beiträge gelesen werden, und die Lesezeit. Ah, Sie können die Quelle nach PostTiming durchsuchen und etwas wie

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

finden. Das ist also ein Anfang. Vielleicht das:

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

Es gibt einige ensureconsistency-Aufgaben, die möglicherweise die Art und Weise sind, wie diese aktualisiert werden, aber ich bin mir nicht ganz sicher.

1 „Gefällt mir“

In diesem Fall ist es möglich, ein Admin-Konto über die Konsole zusammenzuführen? Mir ist bewusst, dass dies nicht über die Admin-Oberfläche möglich ist.

Entfernen Sie einfach ihre Admin-Berechtigungen und erledigen Sie es?

Aber es sieht so aus, als ob Sie es mit einer Rake-Aufgabe tun können: Merging user accounts

2 „Gefällt mir“

Danke dafür – ich bin mir nicht sicher, ob es möglich ist, die Admin-Berechtigungen des ursprünglichen Administrators zu entziehen.

Wenn es sich um einen Entwickler handelt (der in der app.yml festgelegt ist), dann haben Sie wahrscheinlich Recht.

Außerdem ist mir gerade diese Rake-Aufgabe aufgefallen!

rake destroy:stats

Sieht so aus, als könnte das das tun, was Sie wollen.

1 „Gefällt mir“

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