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

时间:2013-11-29 10:46:47

标签: ruby-on-rails ruby-on-rails-3 exception-handling actioncontroller

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

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

1 个答案:

答案 0 :(得分:1)

Rails使用controller#response_body来决定是否已呈现或重定向请求。只需将response_body设置为nil即可避免此错误。注意:可以说更好的方法是在第一时间防止多次渲染或重定向。

请参阅:#render