2013-06-20 62 views
5

测试导轨4.在Rails 3中,将force_ssl放在我的控制器的顶部,强制ssl仅用于生产。这被忽视了发展,这是我想要的行为,并符合force_ssl的文档。Rails 4 force_ssl问题?

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

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

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

Rails.env.production? ? force_ssl : nil 

回答

3

如果像我一样,你有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