【问题标题】:You are being redirected. rails 3.1您正在被重定向。导轨 3.1
【发布时间】:2014-05-19 14:39:47
【问题描述】:

我创建了一个简单的脚手架,它有销毁方法

respond_to do |format|
  format.html { redirect_to :action => "index", :status => 302  }
  format.json { head :ok }
end

结束

当我点击“销毁”时,我会看到带有“您正在被重定向”字样的页面。其中“重定向”一词是指向posts_path 的链接。我应该怎么做才能修复这个错误?

【问题讨论】:

  • 你为什么给它一个 302 状态?这可能有助于回答。不过,我不清楚......你到底在问什么。
  • 好吧,如果我是提问者,我会问为什么 rails 发送带有“您正在被重定向”消息的 html,而不是实际发送 HTTP 重定向标头——或者为什么浏览器正在显示“您正在被重定向”,而不仅仅是重定向。您是否建议状态 302 以某种方式使这种情况发生,而重定向_to 的任何 rails 默认状态都不会。这是为什么呢?
  • 我遇到了同样的问题。最后我发现我不小心覆盖了rails框架中的一个方法。一旦我重命名该方法,问题就解决了。这里有更详细的描述:robert-reiz.com/2012/07/20/…

标签: ruby-on-rails-3.1


【解决方案1】:

我知道这个问题很老,但我发现 Robert Reiz 对这个问题的评论帮助我解决了同样的问题。我使用 gem decent_exposure,并且我有一个名为 Location 的模型。在控制器中,expose(:location) 创建了一个中断重定向的方法。 Location 现在是 Place

【讨论】:

  • 我也有一个名为 location 的模型并且有同样的问题。谢谢。
【解决方案2】:

我会删除:status => 302' option and double check that my Destroy link has:method => 'delete'set. If the:method` 未在链接上设置,然后您将被重定向到您的索引操作。

【讨论】:

  • 这个答案没有帮助。我有同样的问题。我玩弄了状态码 302 和 301,但这对我来说都是一样的结果。
【解决方案3】:

如果您使用带有 Rails 的 nginx。将以下配置添加到 nginx。

  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_redirect off;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    相关资源
    最近更新 更多