Настройка Geocoder с Синатрой и ActiveRecord?

голоса
1

У меня есть база данных MYSQL, который доступен с помощью ActiveRecord и Синатра. Я пытаюсь выполнить определенную задачу геолокации на записи в таблицах.

Тем не менее, я полагаю, что мой синтаксис является неправильным, как расширить класс геокодера делает мой запрос CRUD неудачу:

myapp.rb

require 'rubygems'
require 'sinatra'
require 'active_record'
require 'table_print'
require 'json'

ActiveRecord::Base.establish_connection(
  :adapter  => mysql2,
  :host     => localhost,
  :username => root,
  :database => orbital
)

class Post < ActiveRecord::Base
  extend Geocoder::Model::ActiveRecord

 # attr_accessor :latitude, :longitude
end

class Comment < ActiveRecord::Base
  #extend Geocoder::Model::ActiveRecord
end

class MyApp < Sinatra::Application
  #extend Geocoder::Model::ActiveRecord
end

post '/post' do
  @user = params[:user]
  @content = params[:content]
  @latitude = params[:latitude]
  @longitude = params[:longitude]
  @timestamp = params[:timestamp]
  record = Post.create(user: @user, content: @content, longitude: @longitude, latitude: @latitude, timestamp: @timestamp)
  record.save
end

Запрос я пытаюсь выполнить это: Post.near([@lat, @long], @dist, units: :km).offset(10 * @var.to_i).first(10)

Это StackOverflow нить здесь также предполагает , что мне нужно настроить дополнительные параметры , такие как attr_accessors. Как я могу идти о настройке перезаписи выше , так что я могу использовать геокодировщик nearметоды?

Задан 25/07/2018 в 13:24
источник пользователем
На других языках...                            


1 ответов

голоса
1

Я установил выше, добавив:

require 'geocoder'

а также

reverse_geocoded_by :latitude, :longitude
Ответил 25/07/2018 в 18:32
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more