0

我已经在生产服务器的项目 rails 中安装了http://www.rubygeocoder.com/但是我的生产服务器中的这个 gem 对我来说不能正常工作......

我正在使用mongoid。

我在我的开发环境中的视图中编写了这些方法并且工作正常:

<%= request.ip %>   
<%= request.location.city %>    
<%= request.location.country %>

我得到: 127.0.0.1 Reserved

这个结果通常是因为我在 localhost 工作。

但是,在 linode 的生产服务器中使用 capistrano 进行部署后,这些方法出现错误,我可以在生产日志中看到下一个错误:

Completed 500 Internal Server Error in 909ms

ActionView::Template::Error (undefined method `location' for #<ActionDispatch::Request:0x00000005aa8570>):

为什么我在生产服务器中针对这些方法出现此错误?

谢谢!

4

2 回答 2

6

问题已解决。感谢https://github.com/alexreisner/geocoder/issues/239上的 alexreisner 。

安装此 gem 后,您必须重新启动生产服务器。如果您希望该地理编码器可以正常工作。

重新启动我的 linode 服务器后,这个 gem 对我来说确实可以正常工作:D。

非常感谢!

于 2012-05-22T09:52:15.080 回答
0

如果您正在开发中,请尝试使用

  request.remote_ip

代替:

  request.ip

我不确定它是否会起作用

于 2012-05-21T17:20:57.703 回答