簡體   English   中英

在Rails 3.2的生產模式下從訪客那里獲取城市,國家和IP

[英]get city, country and ip from a visitor on production mode with rails 3.2

我已經在生產服務器中的項目導軌中安裝了http://www.rubygeocoder.com/ ,但是生產服務器中的這個gem對我來說無法正常工作...

我正在使用蒙古型。

我在開發環境中的視圖中編寫了這些方法,並且運行良好:

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

我得到: 127.0.0.1 Reserved

這個結果通常是因為我在本地主機上工作。

但是,在linode的生產服務器中使用capistrano進行部署后,這些方法出現錯誤,我可以在生產日志中看到下一個錯誤:

Completed 500 Internal Server Error in 909ms

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

為什么在生產服務器中針對這些方法出現此錯誤?

謝謝!

該問題已解決。 謝謝https://github.com/alexreisner/geocoder/issues/239上的alexreisner。

安裝此gem后,必須重新啟動生產服務器。 如果您希望地理編碼器工作正常。

重新啟動我的linode服務器之后,這個gem對於我來說確實可以正常工作:D。

非常感謝你!

如果您正在開發中,請嘗試使用

  request.remote_ip

代替:

  request.ip

我不確定是否會奏效

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM