【问题标题】:"You are being redirected" bug in Rails 2.3.8 + mongrelRails 2.3.8 + mongrel 中的“你被重定向”错误
【发布时间】:2011-04-06 05:52:00
【问题描述】:

我们最近将 Rails 升级到 2.3.8(来自您不想知道的古老版本)。

一切都很好,一切都在开发中运行良好,然后当我们将它放在舞台上时,我们发现重定向突然停止工作。

我们没有被重定向(比如在登录期间),而是得到一个空白页面,上面写着“您正在被重定向”。

如果您单击“重定向”的作品,您会到达您所追求的页面,但它永远不会真正重定向。

【问题讨论】:

    标签: ruby-on-rails mongrel


    【解决方案1】:

    这似乎是 mongrel 中的一个错误,如下所述: https://rails.lighthouseapp.com/projects/8994/tickets/4690

    解决方案以文件的形式提供,您可以在此处直接放入 config/initializers: http://gist.github.com/471663

    一开始对我们不起作用。它提出了一个关于需求的错误:

    ArgumentError: Illformed requirement [#<Gem::Requirement:0x2ac6e72be9a8 @requirements=[["~>", #<Gem::Version "1.1.5">]], @version=nil>]
    

    但我刚刚从 mongrel.rb 文件中删除了需求行(毕竟,我知道我正在运行 mongrel v 1.1.5)所以来自:

    if Rails.version == '2.3.8' && Gem.available?('mongrel', Gem::Requirement.new('~>1.1.5')) && self.class.const_defined?(:Mongrel)
    

    它变得简单:

    if Rails.version == '2.3.8'
    

    这解决了重定向问题。

    【讨论】:

    • This initializer(基于上述)帮助我在 Rails 2.3.15 上解决了这个问题。
    【解决方案2】:

    如果您要重定向到一个 URL,这可能只是您的重定向语句中的错误。我通过更改修复了类似的错误:

    redirect_to "controller/controller_method"
    

    到:

    redirect_to "/controller/controller_method"
    

    【讨论】:

      【解决方案3】:

      我还在 if 后面加了一行:

      require 'mongrel'

      因为没有它,在运行 rake db:migrate 时,我得到一个未初始化的常量错误。这解决了它。

      【讨论】:

      • 更正:在我的测试环境中修复了它,但在安永的生产环境中仍然无法使用。我认为这更多是他们的问题。
      猜你喜欢
      • 2011-02-25
      • 2011-03-17
      • 1970-01-01
      • 2011-10-23
      • 2011-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多