Έχω μια βάση δεδομένων 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μεθόδου;













