关于如何使用 rails 5 设置地理编码器的任何想法?
Any ideas how to setup geocoder with rails 5?
我正在尝试从地址获取纬度和经度,但是当我 运行 rails db:seed 纬度和经度保持空白时,其余字段将被播种
这是我的模型
attr_accessor :lat, :lng
geocoded_by :address, :latitude => :lat, :longitude => :lng
after_save :geocode, if: ->(building){ building.address.present? }
我在 GemFile
中有 gem 'geocoder'
My Rails version 5.0.6
and ruby version 2.4.1
注意:我只需要使用 'geocoder' gem
我只有这些了,先谢谢了
after_save
表示地理编码是在记录保存到数据库后完成的,因此地理编码信息本身不会保存到数据库中。
此外,attr_accessor :lat, :lng
覆盖了 Rails 为 lat
和 lng
数据库列提供的 getter 和 setter 方法。
只需将您的代码更改为:
# remove this line: attr_accessor :lat, :lng
geocoded_by :address, :latitude => :lat, :longitude => :lng
before_save :geocode, if: ->(building){ building.address.present? }
我正在尝试从地址获取纬度和经度,但是当我 运行 rails db:seed 纬度和经度保持空白时,其余字段将被播种
这是我的模型
attr_accessor :lat, :lng
geocoded_by :address, :latitude => :lat, :longitude => :lng
after_save :geocode, if: ->(building){ building.address.present? }
我在 GemFile
中有 gem 'geocoder' My Rails version 5.0.6
and ruby version 2.4.1
注意:我只需要使用 'geocoder' gem 我只有这些了,先谢谢了
after_save
表示地理编码是在记录保存到数据库后完成的,因此地理编码信息本身不会保存到数据库中。
此外,attr_accessor :lat, :lng
覆盖了 Rails 为 lat
和 lng
数据库列提供的 getter 和 setter 方法。
只需将您的代码更改为:
# remove this line: attr_accessor :lat, :lng
geocoded_by :address, :latitude => :lat, :longitude => :lng
before_save :geocode, if: ->(building){ building.address.present? }