Изменение адаптера активной модели Serializers
Если я хочу переключиться с адаптера атрибутов по умолчанию на адаптер json api, где бы я это сделал?
Начало работы гласит следующее:
Вообще говоря, вы, как пользователь AMS, будете писать (или генерировать) эти классы сериализатора. Если вы хотите использовать другой адаптер, например JsonApi, вы можете изменить его в инициализаторе:
ActiveModel::Serializer.config.adapter = :json_api
Какой инициализатор они имеют в виду? Создать новый? Извините за вопрос noob
Ответы
Ответ 1
В общем, инициализаторы помещаются в каталог app/config/initializers
в приложении Rails.
Итак, в вашем случае вы можете создать там новый файл: ams.rb
и поместить этот контент в этот файл:
# app/config/initializers/ams.rb
ActiveModel::Serializer.config.adapter = :json_api
Также см. эту проблему github.
Если вы хотите использовать формат :json_api
, вы должны использовать ветвь 0.10.0
от Github.
Ответ 2
Для более новой версии AMS установите это значение в config/initializers/ams.rb
:
require 'active_model_serializers'
ActiveModelSerializers.config.adapter = :json_api
Ответ 3
Создайте новый файл с любым именем внутри app/config/initializers/
и добавьте:
ActiveModelSerializers.config.adapter = :json_api
Все файлы в каталоге инициализаторов запускаются во время инициализации независимо от имени файла.