感谢您的解释!
您说得对——重新打开 ::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
这在我这边完美运行。再次感谢您的指导!