Я использую ssl_requirement
, и после его настройки Flash-сообщения моего приложения исчезают.
Я немного изменил плагин, так как учетные записи могут иметь домен, привязанный к их учетной записи. В этом случае области non-ssl сайта должны использовать сопоставленный домен, тогда как области ssl должны использовать поддомен:
def ensure_proper_protocol
return true if ssl_allowed?
if ssl_required? && !request.ssl?
redirect_to "https://#{@account.subdomain}." + APP_CONF[:domain] + request.request_uri
flash.keep
return false
elsif request.ssl? && !ssl_required?
redirect_to "http://#{@account.sub_or_mapped_domain}" + request.request_uri
flash.keep
return false
end
end
Приложение разбито на веб-сайт (интерфейс) и администратор (интерфейс). ВСЕ области администратора использует SSL, поэтому в AdminController я перезаписал ssl_required?
с помощью:
protected
def ssl_required?
return false if RAILS_ENV == "test" || RAILS_ENV == "development"
true
end
Интересно, что сообщения Flash хорошо работают в среде разработки, где я обхожусь без требования SSL, но в моей рабочей среде, где требуется SSL, все Flash исчезли.
Есть идеи?
EDIT
Я провел дополнительное тестирование и могу добавить, что эта проблема возникает ТОЛЬКО в Chrome на Mac. Другие браузеры Mac и Chrome на окнах отображают Flash-сообщения, как и ожидалось.
Это может быть ошибка с Chrome на Mac, тогда ...?