对rails中的特定控制器跳过/禁用force_ssl
我需要在我的应用程序中的所有路由上强制使用SSL,除了message#new
controller。
在config/environments/production.rb
,我有:
config.force_ssl = true
现在所有路由都重定向到https,现在我想禁用message#new
controller。
有谁知道如何在Rails 4+应用程序中禁用特定控制器的强制SSL?
根据以下文档应该工作( 但仅适用于rails> 5版本 ):
config.ssl_options = { redirect: { exclude: -> request { request.path =~ /healthcheck/ } } }
skip_before_action :verify_authenticity_token force_ssl except: [:index,:create]
它对我有用。
在MessagesController.rb
执行此操作 –
force_ssl except: [:new]