我想知道为什么在redirect_to
中有render
或before_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
不会导致双重渲染?
答案 0 :(得分:23)
请参阅Rails Guide on controllers:
如果“之前”过滤器呈现或重定向,则该操作将不会运行。如果计划在该过滤器之后运行其他过滤器,则它们也会被取消。