Я установил simplegeo-ruby gem и смог заставить его работать через консоль Rails, успешно создавая записи с помощью следующих команд:
(Примечание - ясначала ищем адрес через geokit и Google)
>> @record = Record.new(:address => 'Address')
>> geocoded = Geokit::Geocoders::GoogleGeocoder.geocode @record.address
record = SimpleGeo::Record.new({
:id => @record.id,
:created => Time.now,
:lat => geocoded.lat,
:lon => geocoded.lng,
:layer => 'com.mylayer.records',
})
>> SimpleGeo::Client.add_record(record)
Однако мое приложение разрывается при попытке создать новую запись и выдает эту ошибку:
SimpleGeo::NotFound
app/controllers/records_controller.rb:24:in `create'
Мой RecordsController # create actionвыглядит так:
def create
@record = Record.new(params[:record])
geocoded = Geokit::Geocoders::GoogleGeocoder.geocode @record.address
record = SimpleGeo::Record.new({
:id => @record.id,
:created => Time.now,
:lat => geocoded.lat,
:lon => geocoded.lng,
:layer => 'com.mylayer.records',
})
SimpleGeo::Client.add_record(record)
if @record.save
flash[:notice] = "Successfully created record."
redirect_to @record
else
render :action => 'new'
end
end
Любая помощь или ссылки, использующие Simplegeo с Rails 3, очень ценятся.