J'essaye d'analyser un URI de l'entrée d'utilisateur. Je suppose que certains utilisateurs ne mettront pas le schéma dans leurs URI et je veux par défaut "http".Comment est-ce que je peux placer le schéma à un objet d'URI dans Ruby
Le code suivant ne fonctionne pas:
require 'uri'
uri_to_check = URI::parse("www.google.com")
uri_to_check.scheme = "http" unless uri_to_check.scheme
puts uri_to_check.to_s
-je voir "http://www.google.com" mais je reçois "http: www.google.com". Est-il même possible de le faire de cette façon?
Si oui, qu'est-ce qui me manque?
Y a-t-il une meilleure façon de procéder?
+1. Pour votre cas particulier, vous pouvez regarder 'Addressable :: URI.heuristic_parse', qui est * spécifiquement * destiné au cas, où certaines informations sont vraiment manquantes dans l'URI plutôt qu'éliminées intentionnellement. –
Addressable :: URI.heuristic_parse est exactement ce que je cherche. Je vous remercie! – maz
D'accord ... ce que le Tin Man dit est vrai, mais pour le cas d'utilisation du monde réel (ou du moins, ce à quoi la question se réfère spécifiquement), 'Addressable :: URI.heuristic_parse' est ce qui est nécessaire. – hlascelles