Ruby on Rails 中的 Geokit,距离查找器,如何按最近到最远排序?

发布于 2024-10-07 20:13:19 字数 469 浏览 2 评论 0原文

我正在使用 Geokit。我的模型中有以下内容:

  # Distance-based finder method
  # Usage:
  # - find_this_within(Shop.first, 10)
  def self.find_this_within(origin, within)
    if origin.geocoded?
      find(:all, :origin => origin, :within => within )
    else
      []
    end
  end

然后在我的控制器中:

@shops = s.paginate(:page => params[:page], :per_page => 20)

当前输出按 ID 升序列出。我希望它从最近到最远排序。我应该怎么办?

谢谢。

I'm using Geokit. I have the following in my model:

  # Distance-based finder method
  # Usage:
  # - find_this_within(Shop.first, 10)
  def self.find_this_within(origin, within)
    if origin.geocoded?
      find(:all, :origin => origin, :within => within )
    else
      []
    end
  end

Then in my controller:

@shops = s.paginate(:page => params[:page], :per_page => 20)

Currently the output is listed in ID ascending. I want it to sort from nearest to furthest. What should I do?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

久光 2024-10-14 20:13:20

我相信您正在寻找的是:

   def self.find_this_within(origin, within)
    if origin.geocoded?
      find(:all, :origin => origin, :within => within, :order => 'distance asc')
    else
      []
    end
  end

或者说文档: http://geokit.rubyforge.org/

I believe what you are looking for is:

   def self.find_this_within(origin, within)
    if origin.geocoded?
      find(:all, :origin => origin, :within => within, :order => 'distance asc')
    else
      []
    end
  end

Or so say the Docs: http://geokit.rubyforge.org/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文