私は2つのモデルを持っています:ビジネスとプログラム。
class Business < ActiveRecord::Base
has_many :programs
class Program < ActiveRecord::Base
belongs_to :business
企業には多くのプログラムがあります。ビジネスとプログラムの両方で、それぞれのテーブルに緯度と経度の列があります。プログラムがビジネスと同じ住所である場合もありますが、常にそうとは限りません。現在、プログラムの住所は、会社の住所と異なる場合にのみプログラムテーブルに保存されます。つまり、緯度/経度の列が同じ場合は空白になります。プログラムインスタンスの住所を空白のままにする場合(緯度と経度は空白)、Geocoderを使用して検索します。メソッド呼び出しの近くに、ビジネステーブルからのビジネスの住所も含めます。
言い換えれば、私が今これを行う場合:
@programs = Program.near(params....)
プログラムテーブルに緯度/経度が記録されているプログラムのみを取得します。明らかにこれは予想されます。(gemをフォークせずに)nearメソッドを変更する方法、またはスコープを使用して上記の呼び出しでProgramインスタンスの緯度/経度が空白かどうかをBusinessesテーブルで確認する方法はありますか?