модуль ActionController::ForceSSL::ClassMethods
Открытые методы экземпляров
Принудительно перенаправить запрос этого контроллера или указанных действий на протокол 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- Установить сообщение уведомления при перенаправлении
Параметры действия
Вы можете передать следующие параметры, чтобы повлиять на вызов callback before_action:
-
only- Вызов callback должен выполняться только для этого действия -
except- Вызов callback должен выполняться для всех действий, кроме этого действия -
if- Символ, обозначающий метод экземпляра или proc; сам callbackwill be called only when it returns a true value.
-
unless- Символ, обозначающий метод экземпляра или proc; сам callbackwill be called only when it returns a false value.
# 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
© 2004–2016 David Heinemeier Hansson
Licensed under the MIT License.