Вам не нужно добавлять before_filter к geocode_ip_address, а просто поместить это в свой контроллер:
class YourController < ApplicationController
geocode_ip_address
def action
if geo = session[:geo_location]
# geo here is a Geokit::GeoLoc object
end
end
end
Обратите внимание, что если геокодирование не удастся geo будет ноль.Если вы работаете в разработке, вы будете пытаться геокодировать 127.0.0.1, поэтому вы захотите установить свой remote_ip в объекте запроса.Я сделал это, добавив это в конец config / environment / development.rb :
class ActionDispatch::Request
def remote_ip
"x.x.x.x" # fill in your IP address here
end
end