Rails:重置渲染/重定向状态



我有一个异常处理程序(已向rescue_from注册),它有时会导致Double Render错误,因为在抛出异常之前,实际操作已经呈现/重定向。

为了防止出现这种异常,我正在寻找现代版的erase_results。它清除了当前请求中的任何呈现/重定向活动。不确定为什么它被弃用,因为它看起来很有用。无论如何,我试图通过挖掘原始来源来重建它,但有些细节也发生了变化,所以这将是一次黑客攻击,我宁愿干净地进行。

Rails使用控制器#response_body来决定请求是否已经呈现或重定向。只需将response_body设置为nil即可避免此错误。注意:可以说更好的方法是首先防止多重渲染或重定向。

请参阅:#render

最新更新