【问题标题】:Rails 4 force_ssl issue?Rails 4 force_ssl 问题?
【发布时间】:2023-03-16 01:19:01
【问题描述】:

测试 Rails 4。在 Rails 3 中,将 force_ssl 放在我的控制器顶部强制 ssl 仅用于生产。这在开发过程中被忽略了,这是我想要的行为,并且符合 force_ssl 的文档。

在 Rails 4 中,我发现 force_ssl 甚至强制使用 ssl 进行开发,这不是我想要的行为(易于解决,但需要更多我不想要的代码)。此外,我在任何发行说明中都找不到应该更改的地方,所以我认为这可能是一个错误。

我无法通过谷歌搜索找到关于此的错误报告,也无法在此网站上找到。其他人可以确认吗?此外,如果是这样,有人可以将错误报告提交给 Rails(我没有设置这样做的帐户,如果其他人已经有一个,也不想创建一个)。

简单的解决方法,顺便说一句:

Rails.env.production? ? force_ssl : nil

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4


    【解决方案1】:

    这不是错误-https://github.com/rails/rails/pull/5023

    那里为您的问题提供的解决方案是

    force_ssl unless Rails.env.development?
    

    【讨论】:

      【解决方案2】:

      如果像我一样,您的代码中有很多地方有 force_ssl,您可以使用初始化程序保持 DRY:

      module ActionController::ForceSSL::ClassMethods
        alias_method :original_force_ssl, :force_ssl
        def force_ssl(options={})
          original_force_ssl unless Rails.env.development?
        end
      end
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-02-11
        • 1970-01-01
        • 1970-01-01
        • 2015-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多