代码之家  ›  专栏  ›  技术社区  ›  Taryn East

rails2.3.8+mongrel中的“You are being redirected”bug

  •  0
  • Taryn East  · 技术社区  · 14 年前

    我们最近将Rails升级到了2.3.8(从一些你不想知道的非常古老的东西)。

    如果你点击“重定向”的工作,你会进入你想要的页面,但实际上它永远不会重定向。

    3 回复  |  直到 14 年前
        1
  •  4
  •   Taryn East    14 年前

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

    http://gist.github.com/471663

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

    但我刚从混血儿.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'
    

    这修复了重定向问题。

        2
  •  2
  •   DisplayName Je Wade Muchkla L    12 年前

    如果您正在重定向到一个URL,它可能只是您的重定向语句中的一个错误。我修改了一个类似的错误:

    redirect_to "controller/controller_method"
    

    收件人:

    redirect_to "/controller/controller_method"
    
        3
  •  1
  •   Matt Mills    14 年前

    我还在if后面加了一行:

    require 'mongrel'

    因为没有它,在运行rakedb:migrate时,我得到了一个未初始化的常量错误。这把它修好了。