модуль 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- Символ, обозначающий метод экземпляра или процедуру; обратный вызов будет вызван только при возвращении истинного значения. -
unless- Символ, обозначающий метод экземпляра или процедуру; обратный вызов будет вызван только при возвращении ложного значения.
© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.