web-dev-qa-db-fra.com

request.fullpath sans paramètres

request.fullpath donne le chemin complet ainsi que tout paramètre passé, tel que

/page?param1=value&param2&value

Comment puis-je obtenir juste la page sans paramètres? Comme

/page

Je vous remercie.

37
Martin

Utilisez path au lieu de fullpath.

Bien que non documenté, request.path a fonctionné pour moi. J'utilise généralement mon plugin Rails_web_console pour jouer avec l'objet de requête.

Mise à jour:

Comme l'a remarqué turboladen , "[ActionDispatch::Request][2] hérite de [Rack::Request‌][3]​, où request.path est défini".

path n'y est pas documenté, mais la source affiche script_name + path_info.

75
rosenfeld

qu'en est-il d'une simple scission:

request.fullpath.split("?")[0]
27
johnmcaliley

pas besoin de fendre,

request.path_info

vous donne juste ça

9
Mathieu J.

expression régulière

request.fullpath.gsub( /\?.*/, "" )
3
fl00r