On peut laisser à rails le soin de gérer le protocole de certaines pages. Par exemple une page d'identification. Pour se simplifier la tâche, on utilise le before_filter du contrôleur. On commence par écrire notre fonction de redirection dans le contrôleur :


 def redirect_to_ssl
    redirect_to :protocol => "https://" unless (@request.ssl?)
  end

Ensuite, on applique notre filtre aux pages que l'on veut :


 before_filter :redirect_to_ssl, :only=>[:login]

Et voilà : http://monsite.fr/controller/login se transformera en https://monsite.fr/controller/login.