これをオンラインのどこかで見たのを覚えていますが、それに関する情報を見つけるのに苦労していることは知っています。Rails 3.1では、セッションコントローラーの先頭にforce_sslというメソッドがありますが、実稼働環境でのみ呼び出す必要がありますが、どうすればよいですか?
明確にするために、コードは次のようになります
class SessionsController < ApplicationController
force_ssl
end
これをオンラインのどこかで見たのを覚えていますが、それに関する情報を見つけるのに苦労していることは知っています。Rails 3.1では、セッションコントローラーの先頭にforce_sslというメソッドがありますが、実稼働環境でのみ呼び出す必要がありますが、どうすればよいですか?
明確にするために、コードは次のようになります
class SessionsController < ApplicationController
force_ssl
end
私も同様の問題を抱えていました。force_sslは、カピバラとセレンでテストすることで問題を引き起こしました。これで私の問題は解決し、テストが実行されています。
force_ssl if Rails.env.production?
一部のコントローラーで上記の行を使用しています。たとえば、SessionControllerとUserControllerで。
Rails.env.production?
現在の環境が「本番環境」の場合はtrueを返します。より一般的には、。Rails.env.somestring?
の場合はtrueを返しますRails.env == "somestring"
。そこからあなたは良いはずです。
** 編集 **
実際には、本番環境でのみsslを使用する簡単な方法があります。この記事をチェックしてください