rails6 接続先のIPを取得して表示する
rails6で接続先のIPを取得して表示するまでの手順を記述してます。Railsのバージョンは6.1.1を使用してます。
環境
- OS CentOS Linux release 7.9.2009 (Core)
- Ruby 2.7.2
- Rails 6.1.1
- rbenv 1.1.2-40-g62d7798
IP取得
webサーバーの種類にもよりますが、以下のコードで取得すること可能です。
@remote_ip = request.env["HTTP_X_FORWARDED_FOR"] || request.remote_ip
IP表示
任意のControllerを以下のように編集して
class TopController < ApplicationController
def index
@remote_ip = request.env["HTTP_X_FORWARDED_FOR"] || request.remote_ip
end
end
view側を以下のように編集します。
※「routes.rb」にはルーティングが設定してあるものとします。
<h1>TEST SITE</h1>
<p>アクセス元</p>
<%= @remote_ip %>
ここでは「routes.rb」は、以下の通りに編集してます。
root to: "top#index"
アクセスすると、IPが取得できていることが確認できます。
-
前の記事
CentOs7 Rubyをインストールする手順 2021.01.14
-
次の記事
CSS3だけでタイピングアニメーション 2021.01.14
コメントを書く