У меня есть приложение, которое использует геокодер rails для поиска местоположения зарегистрированных пользователей по предоставленному ими почтовому индексу. Это хорошо работает для зарегистрированных пользователей, но я также хочу расширить некоторые функции для гостевых пользователей. Я использую решение Devise для гостевых пользователей, как показано в этой ссылке: https://github.com/plataformatec/devise/wiki/How-To:-Create-a-guest-user
Вот моя пользовательская модель:
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
validates :zip, presence: true
geocoded_by :zip
after_validation :geocode
end
Вот мой метод create_guest_user
:
def create_guest_user
u = User.create(:name => "guest", :email => "guest_#{Time.now.to_i}#{rand(99)}@example.com")
u.save!(:validate => false)
session[:guest_user_id] = u.id
u
end
Я хочу геокодировать местоположение guest_user по их IP. Есть ли способ вызвать метод геокодирования в моем методе create_guest_user
, а затем передать значения широты и долготы при создании гостевого пользователя? Любая помощь приветствуется, заранее спасибо!