L'application Mon Rails comporte des pages SSL et d'autres SSL-facultatives. Les pages facultatives utilisent certains éléments qui sont fournis hors site (images d'un fournisseur) et qui ont des URL http et https. J'ai besoin d'utiliser https lorsque la page est accessible via SSL pour éviter la redoutée "cette page contient à la fois des éléments sécurisés et non sécurisés".Comment puis-je modifier le code de vue Rails pour les visiteurs du site utilisant SSL?
J'ai écrit du code pour renvoyer les URL de l'image en tant que http par défaut et https si demandé. Mon problème maintenant est de déterminer dans la vue comment la demande est entrée. Request.ssl? ne fonctionne pas dans les vues.
J'ai essayé d'utiliser un before_filter qui définit quelque chose comme @ssl_request en utilisant request.ssl ?, mais qui renvoie aussi toujours false. Y a-t-il une manière plus élégante de faire ceci?
La pile du serveur est Nginx et Passenger. D'autres applications avec des piles Apache => Mongrel transmettent un en-tête X_FORWARDED_PROTO pour indiquer à Rails que SSL est ou n'est pas utilisé; Est-il possible que Nginx/Passenger ne le fasse pas?
Vous pouvez intégrer 'https' servi des images dans une page' http', il n'y a pas besoin de créer une aide - à moins que vous ne preniez en charge les navigateurs qui ne peuvent pas utiliser https, dans lequel je viens de répondre à ma propre question. – amingilani