ruby-on-rails - Rails - 我可以使用 Geocoder 来定位只有用户被地理编码的记录吗?

Geocoder 的一个有点令人沮丧的问题。

我有两个模型:

User => has_many :records

Record => belongs_to :user

我正在尝试为一个搜索函数编写逻辑,该函数将返回所有在地理上接近 current_userrecord 实例。这与其他查询参数一起。

我知道我可以使用 User.near 来获取附近的用户,但我找不到直接的方法来提取属于这些用户的 records 并返回这些用户。

理想情况下,我想要一些类似的东西:

records = Record.where(User.near(user, 5))

但是,我知道这行不通。

任何建议都将受到欢迎!谢谢

回答1

您可以尝试 https://github.com/alexreisner/geocoder#for-activerecord-models nearbys 方法来获取 5 英里范围内的所有用户,然后获取所有记录,例如:

records = current_user.nearbys(5).collect(&:record)

相似文章