2016-05-16 2 views
2

Я пытаюсь добавить пространство имен к контроллеру и ресурсу «Категория».Namespacing Ресурс и контроллер JSONAPI

Так что первое, что я сделал, чтобы переместить 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 

Я уже получил различную erros пытается решить эту проблему. К текущей конфигурации это ошибка, которую я получаю:

JSONAPI: Не удалось найти ресурсы «категории». (Class CategoryResource не найден) (NameError)

Что я делаю неправильно?

ответ

0

На основании документации здесь (https://github.com/cerebris/jsonapi-resources) вы не должны перемещать ресурс.

И не должно быть в модулях.

+0

эй, спасибо за письмо. Я следую этой части руководства https://github.com/cerebris/jsonapi-resources#namespaces –

+0

Когда возникает ошибка? – Albin

+0

Когда я начинаю рельсы –

0

Ваш код выглядит нормально - у меня есть что-то подобное с jsonapi-ресурсов 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 

возможно ваш путь рельсы нагрузки пытается загрузить каталог api/v1 напрямую, а не рассматривать его как модуль вложенная?