Имам приложение, което използва rails geocoder, за да намери местоположения на регистрирани потребители по техния предоставен пощенски код. Това работи добре за регистрирани потребители, но също така искам да разширя някои функции за гост потребители. Използвам решението на 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
и след това да предам стойностите на lat и long, когато бъде създаден потребителят гост? Всяка помощ е много ценена, благодаря предварително!