Ruby コンソールでの新規ユーザー承認 - 20200613.042854

3月頃までは動作していましたが、今は何らかの理由で失敗しています。

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

user と csmu は有効なオブジェクトです。
現在バージョン 2.4.0.beta11 を使用しており、来週は最新のベータ版への移行を予定しています。

ご助言をお願いします。

@Keith さん、こんにちは。

提案としては、ステージングサーバーに最新の Discourse バージョンをセットアップし、現在の本番環境からのフルバックアップ(アップロードデータを含む)を使用して、そのステージングサーバーの Discourse インスタンスのデータベースをリストアすることです。

その後、安全なステージング環境でそのステージングインスタンスを先にテストし、動作を確認できます。

これが私たちが行っている方法です。

お役に立てれば幸いです。

ユーザーを有効化しないという解決策になったと思います。

以下が機能しました。

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)