簡體   English   中英

Rails 4 force_ssl問題?

[英]Rails 4 force_ssl issue?

測試Rails 4.在Rails 3中,將force_ssl放在我的控制器頂部強制ssl僅用於生產。 這被忽略了開發,這是我想要的行為,並且符合force_ssl的文檔。

在Rails 4中,我發現force_ssl強制ssl甚至用於開發,這不是我想要的行為(易於解決,但需要更多我不想要的代碼)。 此外,我無法在任何發行說明中找到所謂的更改位置,因此我認為它可能是一個錯誤。

我無法通過谷歌搜索找到關於此的錯誤報告,也無法在本網站上找到。 其他人可以確認嗎? 此外,如果是這樣,有人可以將錯誤報告提交給Rails(我沒有設置這樣做的帳戶,並且如果其他人已經擁有帳戶,則不想創建一個帳戶)。

簡單的解決方法,順便說一下:

Rails.env.production? ? force_ssl : nil

這不是一個錯誤 - https://github.com/rails/rails/pull/5023

為您的問題提供的解決方案是

force_ssl unless Rails.env.development?

如果像我一樣,你在代碼中有很多地方使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM