Spec-Zone.ru › Ruby on Rails 4.1

модуль ActionController::ForceSSL::ClassMethods

Открытые методы экземпляров

force_ssl(options = {}) Показать исходный код

Принудительно перенаправить запрос этого контроллера или указанных действий на протокол 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; сам callback

    will be called only when it returns a true value.
  • unless - Символ, обозначающий метод экземпляра или proc; сам callback

    will 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API