Approvazione di un nuovo utente con la console ruby - 20200613.042854

Questo funzionava intorno a marzo e ora, per qualche motivo, non funziona più.

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

user e csmu sono oggetti validi.
Siamo sulla versione 2.4.0.beta11 e prevediamo di passare all’ultima beta la prossima settimana.

Avete qualche idea?

Ciao @Keith,

Il mio suggerimento è installare l’ultima versione di Discourse su un server di staging e ripristinare il database dell’istanza Discourse sul server di staging con un backup completo (inclusi gli upload) dalla tua versione di produzione attuale.

In questo modo, puoi testare prima l’istanza di staging in un ambiente di staging sicuro e vedere come funziona.

È quello che facciamo noi.

Spero che questo ti sia utile.

Penso che la soluzione sia non attivare l’utente.

Di seguito quanto ha funzionato

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)