1032 votes

Comment puis-je récupérer les URL absolue dans Ruby on Rails?

Comment puis-je obtenir de l'actuel URL absolue dans mon Ruby on Rails?

L' request.request_uri seulement renvoie l'URL relative.

1420voto

Jaime Bellmyer Points 13815

**Pour les Rails 3.2 ou des Rails 4** Vous devez utiliser request.original_url pour obtenir l'URL actuelle. Plus en détail.

Pour Rails 3: Vous souhaitez "#{request.protocol}#{request.host_with_port}#{request.fullpath}", depuis request.url est maintenant obsolète.

Pour les Rails 2: Vous souhaitez request.url au lieu de request.request_uri. Cette combine le protocole (généralement http://) avec l'hôte, et request_uri pour vous donner l'adresse complète.

133voto

mcr Points 2857

Je pense que le Ruby on Rails 3.0 méthode est désormais request.fullpath.

118voto

grzuy Points 1695

Vous pouvez utiliser url_for(:only_path => false)

68voto

ecoologic Points 2748

La DÉPRÉCIATION AVERTISSEMENT: à l'Aide de #request_uri est obsolète. Utilisation fullpath à la place.

61voto

Mike Points 3544

Si vous êtes à l'aide de Rails 3.2 ou Rails 4 , vous devez utiliser request.original_url pour obtenir l'URL actuelle.


La Documentation de la méthode est à http://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-original_url mais si vous êtes curieux de la mise en œuvre est:

def original_url
  base_url + original_fullpath
end

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X