【发布时间】:2011-07-14 15:26:54
【问题描述】:
在我们的应用程序中,我们有两个模型,商店和优惠。
使用“geocoder”gem 对商店进行地理编码 http://rubydoc.info/gems/geocoder
class Store < ActiveRecord::Base
geocoded_by :address
...
class Offer < ActiveRecord::Base
has_and_belongs_to_many :stores
困境是我希望能够使用地理编码器中的“附近”范围搜索优惠,而不仅仅是商店。我想使用优惠所属的商店进行附近搜索。但我似乎无法让 finder 正常工作
scope :nearby , lambda { |location, radius|
joins(:stores).near(location, radius)
}
这不起作用,因为查找器适用于 Offers,并且没有可用的地理编码器功能。
有什么想法吗?我基本上是在尝试在我的新范围中使用相关对象的范围。我也不想对优惠进行地理编码,因为那只是冗余数据。对这个有点难过
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 activerecord geocoding named-scope