我需要在我的应用程序中的所有路径上强制使用SSL,但message#new
控制器除外。
在config/environments/production.rb
中,我有:
config.force_ssl = true
现在所有路由都重定向到https,现在我想禁用message#new
控制器。
有人知道如何在Rails 4+应用程序中禁用特定控制器的强制SSL吗?
答案 0 :(得分:15)
根据documentation以下内容应该有效(但仅适用于rails> 5版本):
config.ssl_options = {
redirect: {
exclude: -> request { request.path =~ /healthcheck/ }
}
}
答案 1 :(得分:5)
skip_before_action :verify_authenticity_token
force_ssl except: [:index,:create]
它为我工作。
答案 2 :(得分:-2)
在MessagesController.rb
-
force_ssl except: [:new]