Rails - 在关注范围内的 sql 字符串查询中使用 self 列

Rails - Use self column in sql string query in concern scope

所以,我有这个顾虑和范围

module GeocoordinatesHelpers
  extend ActiveSupport::Concern

  included do
    scope :within_range, -> (lat, lon, range) { where("(6371.0 * 2 * ASIN(SQRT(POWER(SIN((self.latitude - :lat) * PI() / 180 / 2), 2) + COS(self.latitude * PI() / 180) * COS(:lat * PI() / 180) * POWER(SIN((self.longitude - :lon) * PI() / 180 / 2), 2)))) <= :range", {lat: lat, lon: lon, range: range})}
  end
end

我需要跨多个模型使用

是否可以引用调用作用域的模型列?比如,用实际有效的东西替换 where 中的 self

由于某些原因,我不能只使用地址解析器 gem

如果您确实需要完整的列名,请尝试将 self 更改为 #{table_name}