使用before_action时为什么没有双重渲染?

时间:2015-05-11 13:26:28

标签: ruby-on-rails ruby

我想知道为什么在redirect_to中有renderbefore_action时没有双重渲染。考虑这个例子:

class SomeController < ApplicationController
 before_action :callback

 def new
  callback2
  render 'new'
 end

 def callback
  render 'new'
 end

 def callback2
  render 'new'
 end

end

我发现如果before_action无法重定向但它是如何制作的话,它将毫无用处?如果我评论before_action它会抛出异常。 如何实现before_action不会导致双重渲染?

1 个答案:

答案 0 :(得分:23)

请参阅Rails Guide on controllers

  

如果“之前”过滤器呈现或重定向,则该操作将不会运行。如果计划在该过滤器之后运行其他过滤器,则它们也会被取消。