Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 4:带Desive的地理编码器_Ruby On Rails_Ruby On Rails 4_Devise_Geocoding_Rails Geocoder - Fatal编程技术网

Ruby on rails Rails 4:带Desive的地理编码器

Ruby on rails Rails 4:带Desive的地理编码器,ruby-on-rails,ruby-on-rails-4,devise,geocoding,rails-geocoder,Ruby On Rails,Ruby On Rails 4,Devise,Geocoding,Rails Geocoder,当当前用户创建帖子时,我希望通过Geo-coder中的IP反向方法了解用户位置。为此,我创建了一个帖子、用户和位置模型。我经历了铁路运输,学会了安装地理编码器,能够通过地址找到纬度和经度。现在,如何将用户id从Desive集成到geocoder,以确定当前用户位置 类位置:地址改变了吗? 结束 类位置控制器:距离) 结束 用(@location)响应_ 结束根据讨论,如果您想获取用户的ip,然后使用它获取地址…您可以使用user.rb中的以下代码,其中ip已存在于用户表中 designe在用户

当当前用户创建帖子时,我希望通过Geo-coder中的IP反向方法了解用户位置。为此,我创建了一个帖子、用户和位置模型。我经历了铁路运输,学会了安装地理编码器,能够通过地址找到纬度和经度。现在,如何将用户id从Desive集成到geocoder,以确定当前用户位置

类位置:地址改变了吗?
结束
类位置控制器<应用程序控制器
在\操作之前:设置\位置,仅:[:显示,:编辑,:更新,:销毁]
回复:html
def索引
#location=request.location
@位置=位置.all
用(@位置)响应_
结束
def秀
用(@location)响应_
结束
def新
@location=location.new
用(@location)响应_
结束
定义编辑
结束
def创建
如果参数[:位置]。为空?
@location=request.location
@位置=位置.near([当前用户.纬度,当前用户.经度],50,:顺序=>:距离)
结束
用(@location)响应_

结束
根据讨论,如果您想获取用户的
ip
,然后使用它获取
地址
…您可以使用
user.rb
中的以下代码,其中
ip
已存在于
用户
表中

designe在用户表中自动存储用户的当前和最后一个ip地址。它使用的列名是“当前登录ip”、“最后登录ip”。

给定具有已知IP地址的用户模型,自动获取坐标并存储在纬度和经度属性中:

# app/models/user.rb
geocoded_by :current_sign_in_ip,
  :latitude => :lat, :longitude => :lon
after_validation :geocode

您可以使用Geocoder.search(“1 Twins Way,Minneapolis”)。。。。地理编码器搜索(“44.981667,-93.27833”)。。。。Geocoder.search(“204.57.220.1”)…@Milind将Geocoder附加到用户id的任何方法??您想做什么…如果您真的想附加用户id,然后,您可以将地址列添加到用户表中…这样每个用户都会有自己的详细信息。但是现在..如果不在模型实现中进行更改,您无法将地理编码详细信息附加到用户id中..我在这里也看不到关于博客文章的任何内容。我希望您有一个Pots模型,其中包含一个用户id列和一个位置列,用于从Geocoder获取信息。@EmilKampp我已经更新了模式以显示所有三个模型。我是rails新手,在我选中Desive github中的配置控制器时,我只创建了用户模型和视图,没有创建控制器。。。我应该做那件事还是别的什么你能帮我做一些指导步骤吗。。。。。我还读过“location方法容易受到通过HTTP头的普通IP地址欺骗的攻击。”。因此,使用geocoderv从当前用户处获取ip以查找其位置是否安全???首先,通过使用会话控制器记录用户日志或首先注册用户,然后验证您的db记录来实现Desive的默认行为。您将获得可进一步使用的当前ip hick。请尝试一下。或者告诉我您的位置卡住了。