Вы ссылаетесь на имена столбцов внутри строки, поэтому эта строка используется вместо предполагаемых координат.
Чтобы преодолеть это, вам нужно объединить текстовую команду ('point('
со значениями столбца и, наконец, объединить конец текстовой команды (')'
). В результате имя столбцабольше не находится в одинарных кавычках.
organisation.users.joins(:location)
.where("ST_DWithin(ST_GeomFromText('POINT(' || locations.longitude || ' ' || locations.latitude ||')', 4326),ST_GeomFromText('POINT(? ?)', 4326), ?)", longitude, latitude, distance)
.pluck(:id)