web-dev-qa-db-fra.com

Dans Rails, comment obtenir l'URL actuelle (mais pas les chemins)

Si je suis dans une URL telle que 

http://domain.com/mysite/bla

Comment puis-je demander uniquement l'URL sans chemin d'accès? Tel que

http://domain.com 
42
Martin

Vous pouvez utiliser ceci

<%= request.protocol + request.Host_with_port %>
#=> https://domain.com:3000
<%= request.protocol + request.Host %>
#=> https://domain.com

A partir de Rails 3.2, vous pouvez également utiliser

<%= request.base_url %>
#=> https://domain.com:3000
83
fl00r

request.Host devrait faire l'affaire, ou:

request.port.blank? ? request.Host : "#{request.Host}: #{request.port}"

si vous devez également inclure le port.

3
Pravin

Essaye ça

<%=request.scheme + '://' + request.Host_with_port%>

Si vous voulez voir toutes les méthodes disponibles sur l'objet de requête, alors

<%=request.methods.sort%>
2
Ashish

Pour protocole, domaine et port

<%= "#{request.protocol + request.Host}:#{request.port.to_s}" %>
1
Kulbir Saini

Si votre port pourrait être autre que 80, il devrait être inclus.

"#{request.protocol}#{request.Host_with_port}"
0
Rohanthewiz