Возврат к HTTP после разработки контроллеров SSL - PullRequest
0 голосов
/ 21 октября 2011

Я пытаюсь перенаправить запросы в HTTP после Devise действий.Я не уверен, что то, что я пытаюсь сделать, является правильным / лучшим способом, поэтому я открыт для предложений.Вот что у меня есть, и оно терпит неудачу с «циклом перенаправления», что понятно.Теперь мне просто нужно выяснить, как завершить запрос после перенаправления.

Стоит ли продолжать или есть лучший способ?

class ApplicationController < ActionController::Base
  protect_from_forgery
  before_filter :https_only_for_devise

  @@ssl_controllers = ['devise/registrations',
                        'devise/sessions']

  def https_only_for_devise
    if (@@ssl_controllers.index(params[:controller]) == nil)
      redirect_to :protocol => 'http://'
    end
  end
end

1 Ответ

1 голос
/ 21 октября 2011

И это сработало! Изменено содержание метода:

  def https_only_for_devise
    if (@@ssl_controllers.index(params[:controller]) == nil && request.ssl?)
      redirect_to :protocol => 'http://'
    end
  end

Невероятно очевидно теперь, когда я думал об этом ...

...