1129 Stimmen

Wie erhalte ich die aktuelle absolute URL in Ruby on Rails?

Wie kann ich die aktuelle absolut URL in meiner Ruby on Rails-Ansicht?

Le site request.request_uri gibt nur die relativ URL.

1509voto

Jaime Bellmyer Punkte 22697

Für Rails 3.2 oder Rails 4+

Sie sollten Folgendes verwenden request.original_url um die aktuelle URL zu erhalten. Quellcode im aktuellen Repo gefunden aquí .

Diese Methode ist dokumentiert unter original_url-Verfahren aber wenn Sie neugierig sind, die Umsetzung ist:

def original_url
  base_url + original_fullpath
end

Für Rails 3:

Sie können schreiben "#{request.protocol}#{request.host_with_port}#{request.fullpath}" da request.url ist jetzt veraltet.


Für Rails 2:

Sie können schreiben request.url anstelle von request.request_uri . Dies kombiniert das Protokoll (normalerweise http://) mit dem Host und request_uri, um die vollständige Adresse zu erhalten.

141voto

mcr Punkte 4503

Ich denke, dass die Ruby on Rails 3.0 Methode nun request.fullpath .

130voto

grzuy Punkte 4393

Sie könnten verwenden url_for(only_path: false)

68voto

Mike Punkte 9492

Wenn Sie Folgendes verwenden Rails 3.2 o Schienen 4 sollten Sie request.original_url um die aktuelle URL zu erhalten.


Die Dokumentation der Methode finden Sie unter http://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-original_url aber wenn Sie neugierig sind, die Umsetzung ist:

def original_url
  base_url + original_fullpath
end

67voto

ecoologic Punkte 9740

WARNUNG VOR DEM VERFALL: Die Verwendung von #request_uri ist veraltet . Verwenden Sie stattdessen den vollen Pfad.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X