إعادة تعيين كلمة المرور باستخدام ملف ruby مخصص

هذا بشكل صريح ليس جزءًا من الخطوات.

هناك فرق بين إنشاء حقل مستخدم بهذا الاسم، ووجود حقل مخصص بهذا الاسم. لذلك يتم تخزين التجزئة في المكان الخطأ.
أعتقد أن المشكلة هي أن الأخير (حقل مخصص) غير متاح عبر واجهة برمجة التطبيقات (API).
أعتقد أن أفضل طريقة للمضي قدمًا هي وجود بعض التعليمات البرمجية المخصصة لمرة واحدة تنقل محتوى حقل المستخدم إلى الحقل المخصص الفعلي.

(لقد نظرت في تغيير المكون الإضافي بحيث ينظر أيضًا إلى حقل المستخدم ولكن أعتقد أن عرض هذه التجزئات على واجهة المستخدم يمثل خطرًا أمنيًا، لذلك لن أفعل ذلك).

سيعمل هذا، قم بتشغيله من وحدة تحكم Rails (أضع علامة لك لرؤية التعديل @Hitesh_Sharma)

ufkey = "user_field_#{UserField.find_by(name: 'import_pass').id}"
User.all.each do |u|
  if u.custom_fields.key?(ufkey)
    u.custom_fields[:import_pass] = u.custom_fields[ufkey]
    u.custom_fields.delete(ufkey)
    u.save_custom_fields
  end
end
إعجابَين (2)