Я использую драгоценный камень rails 'geocoder' в своем приложении rails. Вот код:
test.rb
class Test < ActiveRecord::Base
reverse_geocoded_by :latitude, :longitude do |obj,results|
if geo = results.first
obj.street = geo.street_address
obj.city = geo.city
obj.state = geo.state
obj.country = geo.country
end
end
after_validation :reverse_geocode
end
схема.rb
create_table "tests", force: :cascade do |t|
t.string "street"
t.string "city"
t.string "state"
t.string "country"
t.string "place_id"
end
После создания тестовой модели в консоли rails;
testLoc = Test.create(latitude: "49", longitude: "101")
он создает этот API Карт Google: http://maps.googleapis.com/maps/api/geocode/json?language=en&latlng=49.0%2C101.0&sensor=false
Оттуда я вижу, что у него есть place_id.
"place_id": "ChIJnasu3tKddF0RqAvcjn5EhBE",
Если я добавлю этот код в test.rb чуть ниже obj.country,
obj.place_id = geo.place_id
он возвращает NoMethodError: неопределенный метод `place_id' для #
Итак, как я могу получить этот place_id, добавив некоторый код в мой Test.rb?