Ρύθμιση Geocoder με Sinatra και ActiveRecord;

ψήφοι
1

Έχω μια βάση δεδομένων MySQL το οποίο είναι προσβάσιμο χρησιμοποιώντας ActiveRecord και Σινάτρα. Είμαι προσπαθεί να εκτελέσει ορισμένα καθήκοντα geolocation για τις εγγραφές στους πίνακες.

Ωστόσο, πιστεύω σύνταξη μου είναι λάθος, όπως την επέκταση της τάξης geocoder κάνει αίτηση σάλτσες μου αποτύχει:

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. Πώς μπορώ να πάω για τη δημιουργία ξαναγράφοντας τα παραπάνω, ώστε να μπορώ να χρησιμοποιήσω Geocoder της nearμεθόδου;

Δημοσιεύθηκε 25/07/2018 στις 13:24
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
1

I σταθερό το παραπάνω με την προσθήκη:

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