ユーザータスクを制御するためのRails 5 APIプロジェクトがありますが、次のエラーがありますが、必ずしも同じコントローラとルートではありません。ActionController :: RoutingError:初期化されていない定数Api :: V1 :: ApiController
ActionController::RoutingError: uninitialized constant Api::V1::ApiController
エラーをより詳しく説明するために私のプロジェクトを少し説明します。
のApp構造
ルート
scope module: 'api' do
namespace :v1 do
# => Login routes
scope module: 'login' do
match 'login', to: 'sessions#login', as: 'login', via: :post
end
# => Team routes
scope module: 'team' do
# => no admin routes
resources :tasks, except: [:index] do
collection do
match ':view', to: 'tasks#index', as: 'tasks', via: [:get, :post]
end
end
end
end
end
APIコントローラ
module Api
class ApiController < ApplicationController
def respond_with_errors(object)
render json: {errors: ErrorSerializer.serialize(object)}, status: :unprocessable_entity
end
end
end
チームコントローラ
module Api::V1
class Team::TeamController < ApiController
タスクコントローラ
module Api::V1
class Team::TasksController < Team::TeamController
ログインコントローラ
module Api::V1
class Login::LoginController < ApiController
セッションコントローラ
module Api::V1
class Login::SessionsController < Login::LoginController
私はログインルートを実行し、タスクの後にルートを実行すると、最後のルートとチームモジュール内のすべてのルートでエラーが発生します。私がプロジェクトを変更して保存すると(空白スペースが1つしかない)、タスクルートを実行してログインルートを実行した後、最後のルートとログインモジュールのすべてのルートにエラーが発生します。
また、このエラーがいかなる意味を持っていない...
を行う必要があり、名前空間で
V1
UPDATE
が欠落している、あなたの 'アプリ/コントローラ/ API/V1を表示/ api_controller.rb'ファイル – Aleksey