В Rails, как получить текущий URL (но без путей) - PullRequest
42 голосов
/ 07 апреля 2011

Если я нахожусь в URL, таком как

http://domain.com/mysite/bla

Как я могу запросить только URL без путей?Такие как

http://domain.com 

Ответы [ 5 ]

87 голосов
/ 07 апреля 2011

Вы можете использовать это

<%= request.protocol + request.host_with_port %>
#=> https://domain.com:3000
<%= request.protocol + request.host %>
#=> https://domain.com

Начиная с Rails 3.2, вы также можете использовать

<%= request.base_url %>
#=> https://domain.com:3000
3 голосов
/ 07 апреля 2011

request.host должен сделать трюк, или:

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

если вам нужно включить порт тоже.

2 голосов
/ 07 апреля 2011

Попробуйте это

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

Если вы хотите увидеть все доступные методы для объекта запроса, тогда

<%=request.methods.sort%>
1 голос
/ 14 августа 2012

Для протокола, домена и порта

<%= "#{request.protocol + request.host}:#{request.port.to_s}" %>
0 голосов
/ 27 октября 2015

Если ваш порт может отличаться от 80, он должен быть включен.

"#{request.protocol}#{request.host_with_port}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...