Я создал приложение Rails с моделью User и моделью Event. Столбцы модели событий включают в себя location_lat и location_long. Я пытался использовать геокодер для получения событий, которые близки к пользователю и не имеют никакого успеха.
В моем файле events.rb у меня есть:
class Event < ApplicationRecord
has_many :user_event_relationships
has_many :users, through: :user_event_relationships
has_and_belongs_to_many :tags
has_one_attached :picture
validates :name, :location, :date_to, :date_from, presence: true
validate :valid_date_range_required
geocoded_by :location_lat, location_long
reverse_geocoded_by :location_lat, :location_long
...
...
end
И я ' я пытался получить IP-адрес пользователя, а затем обнаружил, что находящееся поблизости событие выполняет следующее:
@ip = request.location.ip
@curr_loc = Event.near(@ip[2..-1])
Я также добавил проверку того, что когда ip равен :: 1 (когда я работаю локально), он по умолчанию другой IP, и это, кажется, работает. Проблема в том, что когда я пытаюсь использовать Event.near (@ip [2 ..- 1]), Event.near ('Paris') (или любой другой город) или .near в целом, ничего не возвращается. Я не уверен, что я делаю неправильно. Я просмотрел документацию и посмотрел похожие вопросы на этом и других форумах, но не нашел своего ответа. Если бы вы могли помочь или предложить альтернативный способ решения этой проблемы, который был бы оценен. Мой товарищ по команде попробовал функцию javascript, но она работает не так хорошо. Я также подумал об использовании листовки, с которой я сейчас играю.