Режим API Rails 5: невозможно достичь действия show для вложенного ресурса - PullRequest
0 голосов
/ 25 ноября 2018

Я использую рельсы 5.2.1 в режиме API с 2.5.3.

У меня есть следующий routes.rb файл ..

Rails.application.routes.draw do
  namespace :api do
    resource :groups, only: [:show]
  end
end

.. и следующий app/controllers/api/groups_controller.rb file

class Api::GroupsController < ApplicationController
  def show
    binding.pry
  end
end

Следующий запрос http://localhost:3000/api/groups правильно поступает в действие контроллера, вызывая binding.pry.

Проблема заключается в том, что следующий запрос http://localhost:3000/api/groups/1 отбрасывает маршрутизациюошибка:

Не найдено ни одного маршрута [GET] "/ api / groups / 1"

Почему это происходит?

1 Ответ

0 голосов
/ 25 ноября 2018

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

Rails.application.routes.draw do
  namespace :api do
     resources :groups, only: [:index, :show]
  end
end

и иметь index и show действий в ваших Api::GroupsController.

Предлагаю вам пройти через направляющие рельсов .Понять разницу между resource и resources

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...