我正在尝试为我的'类别'添加命名空间。控制器和资源。
所以我做的第一件事就是将categories_controller.rb
移至app/controllers/api/v1/categories_controller
,将category_resource.rb
移至app/resources/api/v1/
然后我将这些文物重新声明如下:
控制器
module Api
module V1
class CategoriesController < ApplicationController
#before_action :doorkeeper_authorize!
end
end
end
资源
module Api
module V1
class CategoryResource < JSONAPI::Resource
attribute :name
end
end
end
在routes.rb
中,我将类别路线移至
namespace :api do
namespace :v1 do
jsonapi_resources :categories
end
end
我已经有不同的错误试图解决这个问题。对于当前配置,这是我得到的错误:
JSONAPI:无法找到资源&#39;类别&#39;。 (未找到类CategoryResource)(NameError)
我做错了什么?
答案 0 :(得分:0)
根据此处的文档(https://github.com/cerebris/jsonapi-resources),您不应移动资源。
它不应该在模块中。
答案 1 :(得分:0)
你的代码看起来很好 - 我和jsonapi-resources 0.7.0有类似的东西:
class Api::V1::UsersController
...
class Api::V1::UserResource < BaseResource
...
namespace :api do
namespace :v1 do
jsonapi_resources :users do
jsonapi_relationships
end
您的rails加载路径是否可能尝试直接加载api/v1
目录而不是将其视为模块子文件夹?