土工套件和导轨 3
我正在使用 ruby-on-rails 3 的 geokit gem 和插件。它们似乎存在一个已知问题,可以在此处看到 http://github.com/andre/geokit-rails/issues#issue/15
现在,我尝试遵循底部提供的解决方案。我将该函数定义粘贴到文件末尾,就在 actions_as_mapable 上方,并且就在第一次调用它之后,但每次都没有发生。
知道还能做什么吗?
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
我在将应用程序升级到 Rails 3 时遇到了类似的问题。我仍在使用 Geokit 进行地理编码,但使用 Active Record 范围进行基于距离的数据库查询。这非常方便,而且您仍然可以获得 Active Record 3 的所有优点。这是我的用户模型的一个示例:
这是一篇博客文章,其中包含有关该主题的更多详细信息:
I ran into similar problems upgrading my app to rails 3. I'm still using Geokit for geocoding but Active Record scopes for distance based database queries. It's pretty convenient, and you still get all of the Active Record 3 goodness. Here's an example from my User model:
Here's a blog post with a little more detail on the subject: http://stcorbett.com/code/distance-queries-with-rails-3-without-geokit/
jlecour 的 Rails 3 移植 应该可以解决您去年遇到的任何问题。
如果您正在进行距离计算,请确保您使用的是 mysql 或 postgres。
jlecour's port to rails 3 should solve any issues you were having last year.
Make sure you're using mysql or postgres if you're doing distance calculations.
在 Rails 3.1 上安装 geokit-rails3 gem 遇到问题后,我转向了 geocoder gem。它还具有距离计算功能(请务必不要忘记 @your_model.nearby*s*(5) 中的 s)。还有一个 Railscast。
After trouble installing the geokit-rails3 gem on Rails 3.1 I moved to the geocoder gem. It has distance calculation as well (be sure to not forget the s in @your_model.nearby*s*(5)). There is also a Railscast.
这是 geokit 到 Rails 3 的端口,不完整:
https://github.com/jlecour/geokit-rails3
Here is port of geokit to rails 3, incomplete through:
https://github.com/jlecour/geokit-rails3
对于那些仍然遇到 geokit 问题的人,我继续使用 mongodb...它内置了距离搜索功能...
For those still having trouble with geokit, i moved on to using mongodb... which has inbuilt distance search n all...
嘿阿米特,不确定你是否已经解决了这个问题,但我会告诉你我做了什么,以防万一。
我分叉了 andre 的 geokit-rails 源代码,然后将其克隆到本地,并在
this gist 中的代码
,就在lib/geokit-rails/acts-as-mappable.rb
的 >34module ClassMethods # :nodoc:
行之后。然后我将这些更改提交回 github 上的分叉存储库,并使用我的分叉将源代码作为插件安装到我的 Rails 3 应用程序中。这似乎可以立即生效,但请确保将
acts_as_mappable
行添加到您想要进行距离计算的任何模型中,并确保有两个 float 列该数据库名为:lat
和:lng
。Hey Amit, Not sure if you sorted this out yet but I'll tell you what I did just in case.
I forked andre's geokit-rails source and then cloned it locally and added the code from this gist at line
34
oflib/geokit-rails/acts-as-mappable.rb
, just after the line that readsmodule ClassMethods # :nodoc:
.Then I commited those changes back to my forked repo on github and used my fork to install the source as a plugin to my rails 3 app. That seemed to work straight away, but make sure you have the
acts_as_mappable
line added to whatever model you are wanting to do distance calculations on and make sure you have two float columns on that db named:lat
and:lng
.