Danke für die Erklärung!
Sie hatten Recht – das erneute Öffnen von ::PostSerializer war das Problem. Nach dem Wechsel zu prepend funktioniert alles wie erwartet.
Ich verwende jetzt dieses Modul:
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
Das funktioniert auf meiner Seite perfekt. Nochmals vielen Dank für die Anleitung!