Ошибка Rails / Grape API ": идентификатор неверен с параметром маршрута - PullRequest
0 голосов
/ 06 августа 2020

Я пытался добавить новую GET api/journeys/recommended конечную точку в свое приложение Grape API, поэтому, как всегда, проделал те же шаги - добавил контроллер, смонтировал контроллер в базовый файл. Все должно работать, но я получаю сообщение об ошибке:

{
  "error": "id is invalid"
}

Вот мой код. Base.rb:

class Base < Root
  before { doorkeeper_authorize! }

  namespace :journeys do
    route_param :id, type: Integer do
      helpers do
        def journey
          @journey ||= Journey.active.find_by!(id: params[:id])
        end
      end

      mount Enroll
      mount Activities::Base
    end

    mount Index
    mount Recommended
  end
end

рекомендуемый контроллер

module Journeys
  class Recommended < Base
    desc 'List of recommended Journeys',
         success: { code: 201 },
         failure: [
           { code: 401, message: 'The access token is invalid' },
         ]

    get :recommended do
      status 201
    end
  end
end

Я обнаружил ту же проблему здесь , но я думаю, что решение не подходит для моей проблемы. Странно то, что если я удалю параметры маршрута, он будет работать, но мне нужен этот параметр маршрута для других классов, поэтому, очевидно, я не могу его удалить.

...