Methods
F
Instance Public methods
force_ssl(options = {})

Force the request to this particular controller or specified actions to be under HTTPS protocol.

Note that this method will not be effective on development environment.

Options

  • only - The callback should be run only for this action

  • <tt>except<tt> - The callback should be run for all actions except this action

# File actionpack/lib/action_controller/metal/force_ssl.rb, line 26
def force_ssl(options = {})
  host = options.delete(:host)
  before_filter(options) do
    if !request.ssl? && !Rails.env.development?
      redirect_options = {:protocol => 'https://', :status => :moved_permanently}
      redirect_options.merge!(:host => host) if host
      redirect_options.merge!(:params => request.query_parameters)
      redirect_to redirect_options
    end
  end
end