لقد قمت بالتالي:
./launcher enter app
rails c
UserEmail.where(user_id: 7, primary: false).destroy_all
UserEmail.create!(user: User.find_by_username("user7"), email: "newemail@example.com")
exit
exit
./launcher restart app
لا أعرف ما إذا كان هذا هو الخطأ الذي ارتكبته، لكنني فقط نفذت سطر الحذف هذه المرة. أعيد تشغيل التطبيق، وحدّثت الصفحة. اختفت البريد الإلكتروني الثانوي! لذا انتقلت إلى واجهة المستخدم على الويب وقمت بتغيير البريد الأساسي إلى ثانوي لأنه لم يعد محظورًا.
أعدت النظر في ذلك، فإرسال البريد الإلكتروني عبر الويب يرسل تأكيدًا إلى عنوان البريد الإلكتروني الصالح، لكنه يحتفظ بعنوان البريد الإلكتروني غير الصالح بمجرد عودتك إلى صفحة تفضيلات المستخدم أو صفحة إدارة المستخدم.
الآن لست متأكدًا مما يجب فعله ![]()
تعديل:
على الرغم من خطر إغراق هذا الموضوع، فقد توصلت إلى الحل.
بمجرد الدخول إلى rails c
حذفت جميع عناوين البريد الإلكتروني - لم أكن أعرف كيفية تعيين بريد إلكتروني كبريد أساسي، وهذا هو السبب في أنه عند إعادة إضافة البريد الصالح في كل مرة، يتم إضافته كبريد ثانوي.
# إزالة جميع عناوين البريد الإلكتروني الثانوية
UserEmail.where(user_id: 1234, primary: false).destroy_all
# إزالة البريد الإلكتروني الأساسي
UserEmail.where(user_id: 1234, primary: true).destroy_all
# تعيين البريد الإلكتروني الأساسي
UserEmail.create!(user_id: 1234, email: "validemail@example.com", primary: true)
هذا بديهي، فهو يتجاوز التحقق، لكنك قمت بالتحقق منه يدويًا من الحساب المدمج سابقًا، لذا نأمل أن يتمكن الآخرون من استخدام هذا المثال. الشيء الوحيد المتبقي هو إرسال بريد إعادة تعيين كلمة المرور بعد إعادة تشغيل التطبيق.