I am using ssl_requirement
and since setting it up, my application's Flash messages are disappearing.
I've modified the plugin slightly as accounts can optionally have a domain mapped to their account. In that case the non-ssl areas of the site should use the mapped domain, whereas the ssl areas should use the subdomain:
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
The application is broadly split into a website (front end) and an admin (back end). ALL of the admin area uses SSL so in the AdminController I have overwritten ssl_required?
with:
protected
def ssl_required?
return false if RAILS_ENV == "test" || RAILS_ENV == "development"
true
end
Interestingly, Flash messages work fine in the development environment, where I am bypassing requiring SSL, but in my production environment where SSL is required, all Flash are gone.
Any ideas?
EDIT
I've done some further testing and can add that this problem is ONLY occurring in Chrome on the Mac. Other Mac browsers and Chrome on windows are displaying the Flash messages as expected.
This may be a bug with Chrome on the Mac then...?