Вот как моя структура данных выглядитПочему возникает ошибка «неинициализированная константа» при ссылке на класс?
Controller
API
V1
Controller1.rb
Controller2.rb
Serializers
Model1Serializer.rb
Model2Serializer.rb
Я пытаюсь получить доступ к сериализаторам в моих контроллерах
Вот мой контроллер
class API::V1::Controller1 < ApplicationController
require_relative 'model1_serializer'
def doStuff
render json:MyData, each_serializer:Model1Serializer
end
end
Вот мой сериализатору
class API::V1::Serializers::Model1Serializer < ActiveModel::Serializer
# Code here for serializing
end
Я получаю следующее сообщение об ошибке. Почему он думает, что Model1Serializer находится под контроллером 1?
неинициализированным постоянной API :: V1 :: Controller1 :: Model1Serializer
Если в моем контроллере я изменить Model1Serializer
к API::V1::Serializers::Model1Serializer
то он работает, за исключением того, я не хочу быть зависимым от V1 в моем пространстве имен, в этом случае. Если я решит переместить код на V2, я не перестаю менять код, чтобы указать на V2. Каков наилучший способ справиться с этим?
Я обновил свой вопрос, я скорее не имею никакой зависимости от V1, каких-либо предложений? Не хочу, чтобы вернуться и обновить мой код, чтобы указать на V2, когда я создаю новую версию – aryaxt