Techioz Blog

Ruby on Rails で現在の絶対 URL を取得するにはどうすればよいですか?

概要

Ruby on Rails ビューで現在の絶対 URL を取得するにはどうすればよいですか?

request.request_uri は相対 URL のみを返します。

解決策

現在の URL を取得するには、request.original_url を使用する必要があります。現在のリポジトリのソースコードはここにあります。

このメソッドは、original_url メソッドで説明されていますが、興味がある場合は、実装は次のとおりです。

def original_url
  base_url + original_fullpath
end

request.url は現在非推奨になっているため、「#{request.protocol}#{request.host_with_port}#{request.fullpath}」と書くことができます。

request.request_uri の代わりに request.url を書くこともできます。これにより、プロトコル (通常は http://) とホスト、および request_uri が結合され、完全なアドレスが得られます。