Мое приложение имеет следующие версии: rails 6.0.0
, ruby 2.6.3
.
У меня около 20 контроллеров в приложении, и мы планируем использовать fast-json-api
вместо rabl
в качестве сериализатора в приложении,Я обнаружил, что количество файлов сериализатора растет очень быстро для каждого контроллера. (скриншот ниже).
Вопросы
Есть ли лучший способ организовать все сериализаторы?
Я пробовал следующие 2 способа организации:
Организация всех сериализаторов одного контроллера под его именем модели (например, rabl)
Но это даломне эта ошибка:
NameError (uninitialized constant Api::V1::LexiconsController::ListNodeSerializer)
Могу ли я отрисовывать различные представления API в одном Serializer, сохраняя все SerializerClassNames в одном файле serialzer для этого контроллера ??
Сериализатор для контроллера категории
class ShowSerializer < ApplicationSerializer
cache_options enabled: true, cache_length: 24.hours
attributes :name, :status, :description
end
class IndexSerializer < ApplicationSerializer
attributes :name, :status, :thumbnail, :definition
attributes :area do |area|
area.country.try(:name).try(:html_safe)
end
end