Если вы не хотите зависеть от разветвленного плагина, вы можете переопределить ssl_allowed?в вашем контроллере:
class ApplicationController < ActionController::Base
...
private
def ssl_allowed?
true
end
end
РЕДАКТИРОВАТЬ: Это делает не делать то, что я думал, что сделалВместо отключения перенаправлений на http для страниц, которые не указаны ssl_required, он замыкает весь процесс перенаправления, чтобы ничего не делать.Это очень плохо.Код:
def ensure_proper_protocol
return true if ssl_allowed?
if ssl_required? && !request.ssl?
redirect_to "https://" + request.host + request.request_uri
flash.keep
return false
elsif request.ssl? && !ssl_required?
redirect_to "http://" + request.host + request.request_uri
flash.keep
return false
end
end
Добавление ssl_allowed?метод, подобный этому, будет только ответом, если вместо этого прочитать код:
def ensure_proper_protocol
if ssl_required? && !request.ssl?
redirect_to "https://" + request.host + request.request_uri
flash.keep
return false
elsif request.ssl? && !ssl_required? && !ssl_allowed?
redirect_to "http://" + request.host + request.request_uri
flash.keep
return false
end
end