我正在使用Geocoder gem,似乎无法使用where
过滤记录集合而不会失去对gem .distance
方法的访问权限。
我正在为查询寻找解决方案,例如:
User.includes(:addresses).where("addresses.country = ?", "Poland").references(:addresses)
在这种情况下使用where
还有其他选择吗?在简单的find_by
或find(id)
上过滤记录似乎保留.distance
,但我不知道当条件在关联模型上时如何使用/ 1}。
答案 0 :(得分:0)
您可以使用find_by_sql
。以下是链接文档的示例:
Post.find_by_sql ["SELECT title FROM posts WHERE author = ? AND created > ?", author_id, start_date]
答案 1 :(得分:0)
当您查看文档和github issue 1108 for gem Geocoder
时,distnace
看起来像是一个方法,而不是一个范围。你必须改变你的代码:
Address.near(location).includes(:model).where(something).each do |address|
address.distance
end