تعارض مشاركة الوسائط المضمنة مع المجموعات المسموح بها مع سير عمل الإشراف على المشاركات: فشل إلغاء الإخفاء مع ActiveRecord::RecordInvalid

يوجد تعارض بين “المجموعات المسموح لها بنشر الوسائط المضمنة” و سير عمل إظهار المنشورات المخفية.

إذا أنشأ مستخدم ليس ضمن المجموعات المسموح لها بالوسائط منشورًا، وتم إخفاء المنشور لاحقًا (عبر الإشارات)، فعندما يقوم مشرف بتحرير المنشور المخفي وإضافة وسائط، سيفشل محاولة إظهار المنشور مع ظهور ما يلي:

ActiveRecord::RecordInvalid
Validation failed: Sorry, you can't embed media items in a post.

تعيد عملية الإظهار التحقق من صحة الوسائط باستخدام أذونات المؤلف الأصلي، وليس أذونات المشرف، مما يتسبب في فشل عملية الإظهار.


خطوات إعادة الإنتاج

  1. قم بتكوين المجموعات المسموح لها بنشر الوسائط المضمنة، واستبعاد المستخدمين ذوي الثقة المنخفضة.
  2. استخدم مستخدمًا غير مدرج في المجموعات المسموح لها لإنشاء منشور.
  3. اجعل المنشور مخفيًا بواسطة إشارات النظام. (لست متأكدًا تمامًا هنا - يبدو أنه لا يمكن إخفاء المنشورات إلا عبر الإشارات، وليس يدويًا من قبل الموظفين؟ يمكن للموظفين إخفاء المواضيع ولكن ليس المنشورات الفردية. يرجى تصحيحي إذا كنت مخطئًا.)
  4. يقوم مشرف بتحرير المنشور المخفي وإدراج وسائط (صور/مقاطع فيديو).
  5. حاول إظهار المنشور (إما في واجهة المستخدم أو عبر post.unhide! في وحدة تحكم Rails).
  6. تفشل العملية مع ظهور:

ActiveRecord::RecordInvalid Validation failed: Sorry, you can't embed media items in a post.