我有 2 个模型:业务和程序。
class Business < ActiveRecord::Base
has_many :programs
class Program < ActiveRecord::Base
belongs_to :business
企业有很多项目。业务和程序在各自的表中都有纬度和经度列。有时程序与业务地址相同,但并非总是如此。现在我只在程序表中存储程序的地址,如果它与公司的地址不同,这意味着纬度/经度列如果相同,则为空白。如果我确实将程序实例的地址保留为空白(纬度和经度为空白),我想使用 Geocoder .near 方法调用来搜索还包括业务表中的业务地址。
换句话说,如果我现在这样做:
@programs = Program.near(params....)
我只得到程序表中记录了纬度/经度的程序。显然这是意料之中的。如果程序实例的纬度/经度为空白,是否有任何方法可以更改 near 方法(不分叉 gem)或使用范围来让上面的调用也检查 Businesses 表?