# module ActionController::ForceSSL::ClassMethods

### Public Instance Methods

force_ssl(options = {}) click to toggle source

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

- `except` - The callback should be run for all actions except this action

    # File 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