عندما يتم تعيين خيار مستخدم افتراضي من false إلى true، فإنه لا يتصرف كما ينبغي.
لا يسأل عما إذا كان يجب تطبيق الإعداد على المستخدمين الحاليين وحتى لو فعل ذلك، فلن ينجح ذلك.
إعادة الإنتاج:
- لديك إعداد مثل “فتح الروابط الخارجية في علامة تبويب جديدة” ممكّن
- قم بتعيين المسؤول - الإعدادات - تفضيلات المستخدم -
افتراضي الروابط الخارجية الأخرى في علامة تبويب جديدةإلى ممكّن - قم بتعيين المسؤول - الإعدادات - تفضيلات المستخدم -
افتراضي الروابط الخارجية الأخرى في علامة تبويب جديدةإلى معطّل - احصل على نافذة منبثقة
هل ترغب في تطبيق هذا التغيير تاريخيًا؟ سيؤدي هذا إلى تغيير تفضيلات X مستخدم حالي.واختر نعم - بالنسبة لجميع المستخدمين، تم تعطيل “فتح الروابط الخارجية في علامة تبويب جديدة” الآن
حتى الآن جيد، ولكن:
- قم بتعيين المسؤول - الإعدادات - تفضيلات المستخدم -
افتراضي الروابط الخارجية الأخرى في علامة تبويب جديدةإلى ممكّن - لا تحصل على نافذة منبثقة ولا يزال معطلاً للجميع.
الخطوة الأخيرة المتوقعة:
- احصل على نافذة منبثقة
هل ترغب في تطبيق هذا التغيير تاريخيًا؟ سيؤدي هذا إلى تغيير تفضيلات X مستخدم حالي.حيث سيؤدي اختيار نعم إلى تمكينه للجميع
هذا ينطبق على جميع تفضيلات المستخدم default_.
يبدو أن هذا يتعلق بـ هنا و هنا
previous_value = SiteSetting.public_send(id) || "" if update_existing_users
الذي يعيّن previous_value إلى "" إذا كان الإعداد false، ثم
UserOption.where(user_option => previous_value).update_all(attrs)
و
json[:user_count] = UserOption.where(user_option => previous_value).
لا تفعل شيئًا.