В маршрутах ресурсов Rails отсутствуют новые и редактируемые маршруты - PullRequest
0 голосов
/ 04 марта 2020

При создании Rails API я объявил свой файл маршрутов как:

Rails.application.routes.draw do
  namespace :api do
    namespace :v1 do
      root 'budgets#index'
      resources :users do
        resources :budgets
      end
      post '/login', to: 'sessions#create'
      post '/logout', to: 'sessions#destroy'
      resources :budgets do
        resources :budget_totals
      end
    end
  end
end

Однако после выполнения команды rails routes я обнаружил, что отсутствуют "новые" и "редактировать" маршруты. Как мне исправить это?

Соответствующая часть ответа rails routes:

 Prefix Verb   URI Pattern                                                                              Controller#Action
                          api_v1_root GET    /api/v1(.:format)                                                                        api/v1/budgets#index
                  api_v1_user_budgets GET    /api/v1/users/:user_id/budgets(.:format)                                                 api/v1/budgets#index
                                      POST   /api/v1/users/:user_id/budgets(.:format)                                                 api/v1/budgets#create
                   api_v1_user_budget GET    /api/v1/users/:user_id/budgets/:id(.:format)                                             api/v1/budgets#show
                                      PATCH  /api/v1/users/:user_id/budgets/:id(.:format)                                             api/v1/budgets#update
                                      PUT    /api/v1/users/:user_id/budgets/:id(.:format)                                             api/v1/budgets#update
                                      DELETE /api/v1/users/:user_id/budgets/:id(.:format)                                             api/v1/budgets#destroy
                         api_v1_users GET    /api/v1/users(.:format)                                                                  api/v1/users#index
                                      POST   /api/v1/users(.:format)                                                                  api/v1/users#create
                          api_v1_user GET    /api/v1/users/:id(.:format)                                                              api/v1/users#show
                                      PATCH  /api/v1/users/:id(.:format)                                                              api/v1/users#update
                                      PUT    /api/v1/users/:id(.:format)                                                              api/v1/users#update
                                      DELETE /api/v1/users/:id(.:format)                                                              api/v1/users#destroy
                         api_v1_login POST   /api/v1/login(.:format)                                                                  api/v1/sessions#create
                        api_v1_logout POST   /api/v1/logout(.:format)                                                                 api/v1/sessions#destroy
          api_v1_budget_budget_totals GET    /api/v1/budgets/:budget_id/budget_totals(.:format)                                       api/v1/budget_totals#index
                                      POST   /api/v1/budgets/:budget_id/budget_totals(.:format)                                       api/v1/budget_totals#create
           api_v1_budget_budget_total GET    /api/v1/budgets/:budget_id/budget_totals/:id(.:format)                                   api/v1/budget_totals#show
                                      PATCH  /api/v1/budgets/:budget_id/budget_totals/:id(.:format)                                   api/v1/budget_totals#update
                                      PUT    /api/v1/budgets/:budget_id/budget_totals/:id(.:format)                                   api/v1/budget_totals#update
                                      DELETE /api/v1/budgets/:budget_id/budget_totals/:id(.:format)                                   api/v1/budget_totals#destroy
                       api_v1_budgets GET    /api/v1/budgets(.:format)                                                                api/v1/budgets#index
                                      POST   /api/v1/budgets(.:format)                                                                api/v1/budgets#create
                        api_v1_budget GET    /api/v1/budgets/:id(.:format)                                                            api/v1/budgets#show
                                      PATCH  /api/v1/budgets/:id(.:format)                                                            api/v1/budgets#update
                                      PUT    /api/v1/budgets/:id(.:format)                                                            api/v1/budgets#update
                                      DELETE /api/v1/budgets/:id(.:format)                                                            api/v1/budgets#destroy

1 Ответ

0 голосов
/ 04 марта 2020

Возможно, вы используете приложение api_only? Они не генерируют маршруты New и Edit.

Создали ли вы свое приложение с переключателем --api, например: rails new my-api --api? Аргумент --api сообщает Rails, что вам нужно только приложение API.

См. " Что такое Rails API? " и " Rails: создание Ruby на Rails API только приложение".

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