[英]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.