message#new コントローラーを除く、アプリケーション内のすべてのルートで SSL を強制する必要があります。
config/environments/production.rb には次のものがあります。
config.force_ssl = true
すべてのルートが https にリダイレクトされるようになりました。そして、message#new コントローラーに対してそれを無効にしたいと思います。
Rails 4以降のアプリケーションで特定のコントローラーの強制SSLを無効にする方法を知っている人はいますか?
ドキュメントによると、次のように動作するはずです(ただし、バージョン 5 より大きい Rails の場合に限ります)。
config.ssl_options = {
redirect: {
exclude: -> request { request.path =~ /healthcheck/ }
}
}