Ошибка маршрутизации: не найдено ни одного маршрута [GET] "/api/v1/courts/by_coordinates/41.89400864" - PullRequest
0 голосов
/ 26 февраля 2020

У меня возникает эта ошибка, когда я пытаюсь выполнить поиск в URL по координатам (сохраняются как: широта и: долгота в дБ с использованием geocoder gem): Нет совпадений с маршрутом [GET] "/ api / v1 / Court / by_coordinates / 41.89400864 " Вот код, который я использую.

module API
  module V1
    class Courts < Grape::API
      version 'v1' # path-based versioning by default
      format :json # We don't like xml anymore

      resource :courts do

        desc "Courts index"
        get do
          courts = Court.all
          present courts, with: API::Entities::Court
        end

        desc "Search by address or city"
        params do
          requires :address, :type => String, :desc => "Court Address"
        end
        get "by_address/:address" do
          courts = Court.near(params[:address])
          present courts, with: API::Entities::Court
        end

        desc "Search by address or city and range"
        params do
          requires :address, :type => String, :desc => "Court Address"
          requires :distance, :type => Integer, :desc => "Range of Distance"
        end
        get "by_address/:address/:distance" do
          courts = Court.near(params[:address], params[:distance])
          present courts.sort_by(&:distance), with: API::Entities::Court
        end

        desc "Search by coordinates"
        params do
          requires :latitude, :type => BigDecimal, :desc => "Court Latitude"
        end
        get "by_coordinates/:latitude" do
          courts = Court.near(params[:latitude])
          present courts, with: API::Entities::Court
        end

      end

    end
  end
end

Я не понимаю, почему, если я использую исследование по адресу, оно работает, но если я просто меняю адрес с помощью параметра широты, перестает работать. Кто-нибудь может помочь мне, пожалуйста? Заранее спасибо!

...