module ActionController::ForceSSL::ClassMethods
Публичные методы экземпляра
# File actionpack/lib/action_controller/metal/force_ssl.rb, line 62
def force_ssl(options = {})
action_options = options.slice(*ACTION_OPTIONS)
redirect_options = options.except(*ACTION_OPTIONS)
before_action(action_options) do
force_ssl_redirect(redirect_options)
end
end Принудительно перенаправляет запрос для этого конкретного контроллера или указанных действий на протокол HTTPS.
Если по какой-либо причине (например, в процессе разработки) необходимо отключить эту функцию, можно использовать условие :if или :unless.
class AccountsController < ApplicationController
force_ssl if: :ssl_configured?
def ssl_configured?
!Rails.env.development?
end
end
Параметры URL
Можно передать следующие параметры, чтобы повлиять на URL перенаправления:
-
host- Перенаправление на другой доменное имя -
subdomain- Перенаправление на другой поддомен -
domain- Перенаправление на другой домен -
port- Перенаправление на другой порт -
path- Перенаправление на другой путь
Параметры перенаправления
Можно передать следующие параметры, чтобы повлиять на статус перенаправления и ответ:
-
status- Перенаправление с пользовательским статусом (по умолчанию 301 Moved Permanently) -
flash- Установка всплывающего сообщения при перенаправлении -
alert- Установка предупреждающего сообщения при перенаправлении -
notice- Установка информационного сообщения при перенаправлении
Параметры действия
Можно передать следующие параметры, чтобы повлиять на вызов before_action:
-
only- Вызов обработчика должен выполняться только для этого действия -
except- Вызов обработчика должен выполняться для всех действий, кроме этого -
if- Символ, обозначающий метод экземпляра или прок; сам обработчикwill be called only when it returns a true value.
-
unless- Символ, обозначающий метод экземпляра или прок; сам обработчикwill be called only when it returns a false value.
© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.