在 PostSerializer#raw 中调用 super 导致 500 错误,而调用 object.raw 却可以工作的原因是什么?

这是 Ruby 的一个特性。当你使用 class ::PostSerializer 时,你是在覆盖原始类中的定义,而不是继承它。因为你没有继承 PostSerializer,所以 super 找不到相应的方法。

你应该使用 prepend 而不是重新打开一个已定义的类。

4 个赞