在我們的應用程序中,我們有兩個模型Stores和Offers。使用Rails作用域作爲相關對象範圍的代理
房屋使用「地理編碼器」寶石 http://rubydoc.info/gems/geocoder
地理編碼class Store < ActiveRecord::Base
geocoded_by :address
...
class Offer < ActiveRecord::Base
has_and_belongs_to_many :stores
的困境是,我希望能夠搜索使用從地理編碼器的「附近」的範圍上信息報價,不只是商店。我想使用這些優惠所屬的商店進行附近的搜索。但我似乎無法得到發現者正常工作
scope :nearby , lambda { |location, radius|
joins(:stores).near(location, radius)
}
這不起作用的取景器是爲信息並沒有可用的地理編碼器功能。
任何想法?我基本上試圖在我的新作用域中使用相關對象的作用域。我不想對報價進行地理編碼,因爲這只是冗餘數據。相當難倒在這一個
這並不工作,但將其分解成兩個SQL調用,似乎不雅。不過,謝謝! – pyromanfo