Ruby on rails 为什么在重定向到路由时rails重定向有效,而在重定向到操作时不起作用?

Ruby on rails 为什么在重定向到路由时rails重定向有效,而在重定向到操作时不起作用?,ruby-on-rails,ruby-on-rails-3.2,rails-routing,controllers,Ruby On Rails,Ruby On Rails 3.2,Rails Routing,Controllers,几周来,我一直在与rails双重呈现错误作斗争(在这个操作中多次调用了呈现和/或重定向。请注意,您可能只调用呈现或重定向,以及在mos…等) 我想如果我有这样的陈述: redirect_to action_name and return redirect_to action_name_path 我得到了双重渲染错误。但是,当我指定一个名为action\u name\u path的路由并执行如下语句时: redirect_to action_name and return redirect_

几周来,我一直在与rails双重呈现错误作斗争(在这个操作中多次调用了呈现和/或重定向。请注意,您可能只调用呈现或重定向,以及在mos…等)

我想如果我有这样的陈述:

redirect_to action_name and return
redirect_to action_name_path
我得到了双重渲染错误。但是,当我指定一个名为action\u name\u path的路由并执行如下语句时:

redirect_to action_name and return
redirect_to action_name_path

我再也不会出现双重渲染错误了。为什么会这样?

应该使用重定向到另一个控制器或外部网页,并自动返回某些内容

使用重定向时,需要指定要渲染的控制器和操作。您可以通过调用路由(action_name_path(:params[])来实现这一点

当您要在同一控制器中调用其他方法或渲染不同的视图时,您不需要渲染控制器,而可以使用render方法将_重定向到

请参阅文档