DoubleRenderError,返回no_content,没有其​​他代码

时间:2018-10-22 08:59:06

标签: ruby-on-rails

我的控制器具有以下功能:

api! 'Destroy a book'
def destroy
  head :no_content
  return
  ....
end

但是每次我调用我的方法时,都会出现双重渲染错误!

Render and/or redirect were called multiple times in this action. Please note that you may only call render OR redirect, and at most once per action. Also note that neither redirect nor render terminate execution of the action, so if you want to exit an action after redirecting, you need to do something like "redirect_to(...) and return".

可能是什么原因造成的?我在书本模型上定义了一个before_destroy,但是如果我正确,那是a)没有被调用,b)即使被调用,仍然无法引起双重渲染。

值得注意的是,如果我颠倒两行的顺序,则会收到“无模板”错误,我相信如果不指定渲染或重定向会发生这种情况。

1 个答案:

答案 0 :(得分:0)

问题出在我的控制器继承的类中。控制器从未指定授权,因此它试图呈现登录页面。这就是为什么控制器出现双重渲染错误的原因。