RailsアプリケーションでGeocoder gemを使用して、Userの新しいインスタンスを作成するときにIPアドレスを取得して保存する方法がわかりません。Geocoderのrequest.ipアクセサを使用してユーザーの現在のIPを取得する方法を教えてください。
ジオコーダは、現在のIPの場所や他のいくつかの場所の情報を取得するために、このようなアクセサなど、いくつかの便利な機能を持っていますが、私はRailsのに非常に新しいですし、ドキュメントが
:-)もう少し指導があった場合、それは完璧だっただろうは限り私はActiveRecordのを使用していて、私は次の移行を作成することで開始しました:
rails generate migration AddIpAddressToUser ip_address:float
それから私は、アプリ/モデル/ user.rb
geocoded_by :ip_address,
:latitude => :lat, :longitude => :lon
after_validation :geocode
にこれを追加しました
Iはschema.rbに、これらの変更を追加するために、マイグレーションを実行した:
rails db:migrate
次にUserモデルの現在のスキーマがある:User.rbは、そのスキーマに緯度、経度及びIP_ADDRESSを有しています。
私は次の方法をどのように使用できますか?
- request.ip Rails documentationによれば
- request.location
ありがとう@max。 Deviseのデフォルトの動作を上書きしてうまく働いた – nloutre