【发布时间】:2013-01-25 02:11:58
【问题描述】:
我有这样的麻烦:我想使用 ajax 请求来获取用户位置,所以我在我的控制器中创建了动作并在 json 中呈现 Geocoder 函数的结果。这是代码:
def find_location
location = Geocoder.coordinates(params[:location])
render :json => (location)
end
在本地效果很好,在 heroku 上也可以,但是当我将此代码添加到另一个项目时 - 它显示了这个错误
NameError in ConnectionsController#find_location
uninitialized constant ConnectionsController::Geocoder
这很奇怪,因为 这在控制台中工作:
Geocoder.coordinates "Ukraine"
=> [48.379433, 31.16558]
我尝试包含 Geocoder::Model,但它不起作用。
有人可以帮我吗?
【问题讨论】:
-
您是否将地理编码器 gem 添加到另一个项目的 Gemfile 中?
-
当然)Bundle show gemcoder 向我展示 gemcoder
-
Typo) 当然是地理编码器。我可以在我的 rails 控制台中使用它,所以它确实存在于我的 gemfile 中。
-
location = ::Geocoder.coordinates(params[:location])可以代替当前的location = Geocoder.coordinates(params[:location])工作吗? -
当我将您的第一个变体放入我的控制器时 - 我收到错误
uninitialized constant Geocoder。在本地主机中,我使用了第二个变体。
标签: ruby-on-rails module geolocation rails-geocoder