شكرًا على الشرح!
أنت على حق — إعادة فتح ::PostSerializer كانت هي المشكلة. بعد التبديل إلى prepend، يعمل كل شيء كما هو متوقع.
أنا الآن أستخدم هذه الوحدة:
module PostSerializerExtension
def raw
if scope.can_edit?(object)
super
else
object.raw&.truncate(300)
end
end
end
reloadable_patch do
require_dependency "post_serializer"
::PostSerializer.prepend(::PostSerializerExtension)
end
هذا يعمل بشكل مثالي من جهتي. شكرًا مرة أخرى على التوجيه!