Neuen Benutzer mit Ruby-Konsole genehmigen – 20200613.042854

Das funktionierte um den März herum und versagt jetzt aus irgendeinem Grund.

ReviewableUser.find_by(target:user).perform(csmu, :approve_user)
NoMethodError: undefined method `perform' for nil:NilClass

user und csmu sind gültige Objekte.
Wir nutzen Version 2.4.0.beta11 und planen, nächste Woche auf das neueste Beta-Update zu wechseln.

Habt ihr eine Idee?

Hallo @Keith,

Mein Vorschlag ist, die neueste Version von Discourse auf einem Staging-Server einzurichten und die Datenbank dieser Staging-Discourse-Instanz mit einem vollständigen Backup (einschließlich Uploads) deiner aktuellen Produktionsversion wiederherzustellen.

Anschließend kannst du diese Staging-Instanz zunächst in einer sicheren Staging-Umgebung testen und prüfen, wie sie funktioniert.

Das machen wir auch.

Ich hoffe, das hilft dir weiter.

Ich denke, es hat sich so ergeben, dass der Benutzer nicht aktiviert wurde.

Folgendes hat funktioniert:

admin_user = User.find_by_username('{{admin_username}}')

user = User.create
user.name = '{{name}}'
user.username = '{{username}}'
user.email = '{{email}}'
user.password = '{{password}}'
user.activate
user.admin = true
user.moderator = true
user.save!

ReviewableUser.find_by(target:user).perform(admin_user, :approve_user)