زرّات التداول

أي إجراء تدميري يتم تنفيذه عبر وحدة التحكم يبدو مخيفًا بعض الشيء. تأكد من أخذ نسخة احتياطية قبل تنفيذها.

سجل CategoryUser يصف مستوى إشعارات المستخدم لفئة معينة. إذا كان notification_level يساوي 0، فهذا يعني أن الفئة مكتومة للمستخدم. يمكنك العثور على مزيد من المعلومات هنا: (Obsolete) Set category tracking level defaults historically.

حذف جميع سجلات CategoryUser لـ category_id معين مع notification_level يساوي 0، سيؤدي إلى إزالة تلك الفئة من قائمة الفئات المكممة لجميع المستخدمين في موقعك.

عند تنفيذ أمر مثل هذا، عادةً ما أضيف خطوة إضافية لم أذكرها أعلاه. بدلاً من تنفيذ الأمر التالي في خطوة واحدة:

CategoryUser.where(category_id: c.id, notification_level: 0).destroy_all

سأقوم بتعيين السجلات إلى متغير حتى أتمكن من التحقق المزدوج من أنني أتعامل مع البيانات الصحيحة. شيء مثل هذا:

# احصل على الفئة وقم بتعيينها إلى متغير
c = Category.find_by(name: "<اسم الفئة الخاصة بك>")

# قم بتعيين category_users إلى متغير وافحص البيانات. تأكد من أن السجلات تحتوي على
# category_id الصحيح وما إلى ذلك.
muted_category_users = CategoryUser.where(category_id: c.id, notification_level: 0)

# عندما تتأكد من صحة البيانات، قم بالتنفيذ
muted_category_users.destroy_all
3 إعجابات