首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Geokit帮助器用法

Geokit帮助器用法
EN

Stack Overflow用户
提问于 2011-04-21 21:03:59
回答 1查看 335关注 0票数 4

我正在尝试通过用户的IP地址来本地化他们。正如文档所说,ActionController::Base中混合了一个名为geocode_ip_address的类方法。但我肯定漏掉了什么。我必须定义一个像这样的before_filter :geocode_ip_address过滤器才能使用它吗?(我想知道完成的每个请求的位置)。

文档还谈到了“第一次查找将导致GeoLoc类作为:geo_location存储在会话中”,但我肯定不会在会话散列中包含该键。

我做错了什么?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-11 00:16:08

您不需要将before_filter添加到geocode_ip_address之前,而只需将其放入您的控制器中:

代码语言:javascript
复制
class YourController < ApplicationController
  geocode_ip_address

  def action
    if geo = session[:geo_location]
      # geo here is a Geokit::GeoLoc object
    end
  end
end

请注意,如果地理编码失败,地理将为nil。如果您在开发环境中运行,您将尝试对127.0.0.1进行地理编码,因此您需要在request对象中设置remote_ip。为此,我将以下代码添加到config/environments/development.rb的底部

代码语言:javascript
复制
class ActionDispatch::Request
  def remote_ip
    "x.x.x.x" # fill in your IP address here
  end
end
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5744490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档