web-dev-qa-db-fra.com

Rails - Récupère l'url actuelle sans les paramètres GET

request.url me renvoie ceci: http: // localhost: 3000/page? foo = bar .

Existe-t-il une méthode que je peux appeler pour obtenir http: // localhost: 3000/page , ou dois-je analyser la chaîne pour supprimer les paramètres get?

33
MrRuru

request.path devrait renvoyer ce que vous recherchez si vous n'êtes pas préoccupé par le nom d'hôte. Sinon, vous pourriez essayer:

url_for(:only_path => false, :overwrite_params=>nil)
47
tadman

Pour obtenir l'URL de la demande sans aucun paramètre de requête.

def current_url_without_parameters
  request.base_url + request.path
end
10
Nerve

J'utilise ce qui suit:

request.original_url.split('?').first

Il ne régénère pas le chemin d'accès et vous donne donc exactement l'URL que l'utilisateur final voit dans son navigateur, moins les paramètres de requête.

9
thekingoftruth