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

Mar*_*riy 14 ruby ruby-on-rails

我很奇怪,为什么没有双重渲染时,有一个redirect_torenderbefore_action.考虑这个例子:

class SomeController < ApplicationController
 before_action :callback

 def new
  callback2
  render 'new'
 end

 def callback
  render 'new'
 end

 def callback2
  render 'new'
 end

end
Run Code Online (Sandbox Code Playgroud)

before_action如果它不能重定向但是它是如何制作的话,我认为这将是无用的?如果我评论before_action它会抛出异常.如何before_action实现不会导致双重渲染?

Bal*_*ick 26

请参阅控制器上Rails指南:

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