【问题标题】:"You are being redirected" page in Rails 3 after redirect_to在redirect_to 之后,Rails 3 中的“您正在被重定向”页面
【发布时间】:2011-11-10 19:51:41
【问题描述】:

希望你能帮我解决这个问题。
我的控制器中有一个“更新”方法,在这个方法的最后我有:

redirect_to :action => 'index' 

其中 'index' 是同一控制器上的方法。
这将我带到臭名昭著的“您正在被重定向页面”,这很奇怪,因为我实际上收到了 302 响应。

【问题讨论】:

  • 我也有同样的问题。重定向后,我得到“您正在被重定向页面”。
  • 我什至在生产中收到此错误页面,然后我使用“enforce_ssl”过滤器。每次 enforce_ssl 过滤器应该重定向到 https 时,我都会收到“您正在被重定向页面”。
  • 我遇到了同样的问题。最后我发现我不小心覆盖了rails框架中的一个方法。一旦我重命名该方法,问题就解决了。这里有更详细的描述:robert-reiz.com/2012/07/20/…
  • 这可能是由于您的网络服务器,如 nginx。看到这个问题:stackoverflow.com/questions/7338726/…

标签: ruby-on-rails ruby-on-rails-3 controller


【解决方案1】:

当您调用 redirect_to 时,Rails 使用 HTTP 状态代码 302(临时重定向)。如果您想使用不同的状态代码(301 表示永久重定向),您可以使用 :status 选项来实现:

redirect_to :action => 'index' , :status => 301

【讨论】:

  • 感谢您的回答,我已经尝试过了,但它仍然将我发送到“您正在被重定向页面”
【解决方案2】:

只需在该行之后使用 return 像这样

redirect_to :action => 'index' 
return

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多