Cette question se rapporte à cette SORTE de question et de réponse (rails-3-ssl autodérision ) où son pour gérer le ssl dans rails 3, utiliser les routes.rb et routes comme:
resources :sessions, :constraints => { :protocol => "https" }
# Redirect /foos and anything starting with /foos/ to https.
match "foos(/*path)", :to => redirect { |_, request| "https://" + request.host_with_port + request.fullpath }
Mon problème est que les liens utiliser des chemins relatifs(je pense que c'est le bon terme) et une fois que je suis sur une page https tous les autres liens vers d'autres pages sur le site, puis utiliser le protocole https.
1) quel est le meilleur moyen de revenir à http pour les pages https n'est pas nécessaire? Dois-je configurer les redirections pour tous(j'espère note) ou est-il une meilleure façon. Serait le redirige être comme ceci:
match "foos(/*path)", :to => redirect { |_, request| "http://" + request.host_with_port + request.fullpath }
2) Si la renvoie à http sont nécessaires, comment dois-je traiter un cas où je veux toutes les méthodes http, sauf un? ie foos(/*path), tous les foos méthodes. Mais disons que je voulais foos/upload_foos pour utiliser ssl. Je sais comment l'exigent
scope :constraints => { :protocol => "https" } do
match 'upload_foos' => 'foos#upload_foos', :via => :post, :as => :upload_foos
end
mais si je l'ai mis dans la redirection http vers la foos chemin de ce qui se passe en https upload_foos?