GoogleMap用途などで、住所を属性に持つモデルに対して緯度・経度を登録する場合はgeocoderが便利です。
geocoder
geocoderは住所⇔緯度・経度を取得・登録できるスグレモノです。
geocoder のインストール
Gemfile
# geocoder
gem 'geocoder'
Gemfileに追記したら、 bundle install
でGemをインストールします
モデルの修正
Ex. Hotelモデルに住所(address), 緯度(latitude), 経度(longitude)がある場合
hotel.rb に以下のコードを記述するだけです。
hotel.rb
geocoded_by :address
after_validation :geocode, if: lambda {|obj| obj.address_changed?}
これで、モデル登録時と住所(address)変更時にgeocoderが動いて緯度・経度のデータが登録・更新されます