اعتماد مستخدم جديد عبر وحدة تحكم Ruby - 20200613.042854

كان هذا يعمل تقريبًا في مارس، والآن يفشل لسبب ما.

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

كائنات user و csmu صحيحة.
نحن نستخدم الإصدار 2.4.0.beta11، ونخطط للانتقال إلى أحدث إصدار تجريبي الأسبوع القادم.

هل لديكم أي أفكار؟

مرحبًا @Keith،

اقتراحي هو إعداد أحدث إصدار من Discourse على خادم الاختبار (staging) واستعادة قاعدة بيانات مثيل 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)