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.

52voto

grosser Punkte 14107

Sie können dies hinzufügen aktuelle_url Methode im ApplicationController, um die aktuelle URL zurückzugeben und das Einfügen anderer Parameter zu ermöglichen

# https://x.com/y/1?page=1 
# + current_url( :page => 3 )
# = https://x.com/y/1?page=3
def current_url(overwrite={})
    url_for :only_path => false, :params => params.merge(overwrite)
end

Beispiel für die Verwendung:

current_url --> http://...
current_url(:page=>4) --> http://...&page=4

39voto

Duke Punkte 6756

Für Ruby on Rails 3:

request.url
request.host_with_port

Ich habe eine Debugger-Sitzung gestartet und das Request-Objekt abgefragt:

request.public_methods

32voto

Lucas Renan Punkte 3647

In Ruby on Rails 3.1.0.rc4:

 request.fullpath

29voto

Dorian Punkte 20663

Ich brauchte die Anwendung URL sondern mit dem Unterverzeichnis. Ich habe verwendet:

root_url(:only_path => false)

28voto

Yuri Barbashov Punkte 5347
 url_for(params)

Und Sie können problemlos neue Parameter hinzufügen:

url_for(params.merge(:tag => "lol"))

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