2

我正在使用 JSONAPI-Resources 一个 API 项目。当我尝试命名空间时,我遇到了服务器无法启动的错误。当我运行时深入挖掘,bin/rails zeitwerk:check我收到以下错误:

NameError: JSONAPI: Could not find resource 'api/v1/connectors'. (Class Api::V1::ConnectorResource not found)
/Users/David/Code/Ruby/my_project/config/routes.rb:7:in `block (3 levels) in <main>'
/Users/David/Code/Ruby/my_project/config/routes.rb:6:in `block (2 levels) in <main>'
/Users/David/Code/Ruby/my_project/config/routes.rb:5:in `block in <main>'
/Users/David/Code/Ruby/my_project/config/routes.rb:3:in `<main>'
/Users/David/Code/Ruby/my_project/config/environment.rb:5:in `<main>'
/Users/David/Code/Ruby/my_project/bin/rails:5:in `<top (required)>'
/Users/David/Code/Ruby/my_project/bin/spring:10:in `block in <top (required)>'
/Users/David/Code/Ruby/my_project/bin/spring:7:in `<top (required)>'
Tasks: TOP => zeitwerk:check => environment
(See full trace by running task with --trace)

只需按照指南尝试添加命名空间资源即可。如果我删除命名空间,它就像一个魅力。

connector_controller.rb

module Api
  module V1
    class ConnectorsController < ApplicationController
    end
  end
end

连接器资源.rb

module Api
  module V1
    class ConnectorResource < JSONAPI::Resource
      attributes :name, :description, :save_path, :created_at, :updated_at
    end
  end
end

路线.rb

Rails.application.routes.draw do
  # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
  namespace :api do
    namespace :v1 do
      jsonapi_resources :connectors, only: %i[index show]
    end
  end
end
4

1 回答 1

0

我认为你放错了资源,资源的实际路径应该在

resouces/api/V1/some_recource.rb

于 2021-12-30T06:31:44.753 回答