Sinatra ve ActiveRecord ile Geocoder kurma?

oy
1

Ben ActiveRecord ve Sinatra kullanılarak erişilen bir MYSQL veritabanı var. Ben tablolardaki kayıtların belirli coğrafi konum görevi gerçekleştirmek için çalışıyorum.

Ancak, ben geocoder sınıfını uzanan benim CRUD isteği başarısız kılan olarak benim sözdizimi yanlış olduğuna inanıyorum:

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

Ben gerçekleştirmek için çalışıyorum sorgu: Post.near([@lat, @long], @dist, units: :km).offset(10 * @var.to_i).first(10)

Bu stackoverflow iş parçacığı burada da ben kurulum için gibi ek argümanlara ihtiyaç olduğunu göstermektedir attr_accessors. Nasıl yukarıdaki yüzden geocoder en kullanabilirsiniz yeniden yukarı ayarlama yaparsınız nearyöntemi?

Oluştur 25/07/2018 saat 13:24
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
1

Ben ekleyerek yukarıda sabit:

require 'geocoder'

ve

reverse_geocoded_by :latitude, :longitude
Cevap 25/07/2018 saat 18:32
kaynak kullanıcı

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